您好,登錄后才能下訂單哦!
本篇內容主要講解“c#怎么調用SSIS Package將數據庫數據導入”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“c#怎么調用SSIS Package將數據庫數據導入”吧!
(一)背景
如何將數據庫中的數據導入到EXCEL文件中,我們經常會碰到。本文將比較常用的幾種方法,并且將詳細講解基于SSIS的用法。筆者認為,基于SSIS的方法,對于海量數據來說,應該是效率最好的一種方法。個人認為,這是一種值得推薦的方法,因此,本人決定將本人所知道的、以及自己總結的完整的寫出來,一是提高一下自己的寫作以及表達能力,二是讓更多的讀者能夠在具體的應用中如何解決將海量數據導入到Excel中的效率問題。
(二)方法的比較
方案一:SSIS(SQL Server數據集成服務),追求效率,Package制作過程復雜一點(容易出錯)。
方案二:采用COM.Excel組件。一般,對于操作能夠基本滿足,但對于數據量大時可能會慢點。下面的代碼,本人稍微修改了下,如下所示:該方法主要是對單元格一個一個的循環寫入,基本方法為 excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref str, ref cellformat)。當數據量大時,肯定效率還是有影響的。
public string DataExcels(System.Data.DataTable[] dts, string strTitle, string FilePath, Hashtable nameList,string[] titles)
{
COM.Excel.cExcelFile excel = new COM.Excel.cExcelFile();
//當文件大于10的時候 清空所有文件!!!
ClearFile(FilePath);
//文件名
string filename = strTitle+ DateTime.Now.ToString("yyyyMMddHHmmssff") + ".xls";
//生成相應的文件
excel.CreateFile(FilePath + filename);
//設置margin
COM.Excel.cExcelFile.MarginTypes mt1 = COM.Excel.cExcelFile.MarginTypes.xlsTopMargin;
COM.Excel.cExcelFile.MarginTypes mt2 = COM.Excel.cExcelFile.MarginTypes.xlsLeftMargin;
COM.Excel.cExcelFile.MarginTypes mt3 = COM.Excel.cExcelFile.MarginTypes.xlsRightMargin;
COM.Excel.cExcelFile.MarginTypes mt4 = COM.Excel.cExcelFile.MarginTypes.xlsBottomMargin;
double height = 2.2;
excel.SetMargin(ref mt1, ref height);
excel.SetMargin(ref mt2, ref height);
excel.SetMargin(ref mt3, ref height);
excel.SetMargin(ref mt4, ref height);
//設置字體!!
COM.Excel.cExcelFile.FontFormatting ff = COM.Excel.cExcelFile.FontFormatting.xlsNoFormat;
string font = "宋體";
short fontsize = 14;
excel.SetFont(ref font, ref fontsize, ref ff);
byte b1 = 1, b2 = 12;
short s3 = 12;
excel.SetColumnWidth(ref b1, ref b2, ref s3);
string header = "頁眉";
string footer = "頁腳";
excel.SetHeader(ref header);
excel.SetFooter(ref footer);
COM.Excel.cExcelFile.ValueTypes vt = COM.Excel.cExcelFile.ValueTypes.xlsText;
COM.Excel.cExcelFile.CellFont cf = COM.Excel.cExcelFile.CellFont.xlsFont0;
COM.Excel.cExcelFile.CellAlignment ca = COM.Excel.cExcelFile.CellAlignment.xlsCentreAlign;
COM.Excel.cExcelFile.CellHiddenLocked chl = COM.Excel.cExcelFile.CellHiddenLocked.xlsNormal;
// 報表標題
int cellformat = 1;
int rowIndex = 1;//起始行
int colIndex = 0;
foreach (System.Data.DataTable dt in dts)
{
colIndex = 0;
//取得列標題
foreach (DataColumn colhead in dt.Columns)
{
colIndex++;
string name = colhead.ColumnName.Trim();
object namestr = (object)name;
excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref namestr, ref cellformat);
}
//取得表格中的數據
foreach (DataRow row in dt.Rows)
{
到此,相信大家對“c#怎么調用SSIS Package將數據庫數據導入”有了更深的了解,不妨來實際操作一番吧!這里是億速云網站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續學習!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。