本篇內(nèi)容主要講解“c#怎么調(diào)用SSIS Package將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“c#怎么調(diào)用SSIS Package將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入”吧!
為玉樹等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及玉樹網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為網(wǎng)站設(shè)計(jì)制作、成都做網(wǎng)站、玉樹網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!(一)背景
如何將數(shù)據(jù)庫中的數(shù)據(jù)導(dǎo)入到EXCEL文件中,我們經(jīng)常會(huì)碰到。本文將比較常用的幾種方法,并且將詳細(xì)講解基于SSIS的用法。筆者認(rèn)為,基于SSIS的方法,對(duì)于海量數(shù)據(jù)來說,應(yīng)該是效率好的一種方法。個(gè)人認(rèn)為,這是一種值得推薦的方法,因此,本人決定將本人所知道的、以及自己總結(jié)的完整的寫出來,一是提高一下自己的寫作以及表達(dá)能力,二是讓更多的讀者能夠在具體的應(yīng)用中如何解決將海量數(shù)據(jù)導(dǎo)入到Excel中的效率問題。
(二)方法的比較
方案一:SSIS(SQL Server數(shù)據(jù)集成服務(wù)),追求效率,Package制作過程復(fù)雜一點(diǎn)(容易出錯(cuò))。
方案二:采用COM.Excel組件。一般,對(duì)于操作能夠基本滿足,但對(duì)于數(shù)據(jù)量大時(shí)可能會(huì)慢點(diǎn)。下面的代碼,本人稍微修改了下,如下所示:該方法主要是對(duì)單元格一個(gè)一個(gè)的循環(huán)寫入,基本方法為 excel.WriteValue(ref vt, ref cf, ref ca, ref chl, ref rowIndex, ref colIndex, ref str, ref cellformat)。當(dāng)數(shù)據(jù)量大時(shí),肯定效率還是有影響的。
public string DataExcels(System.Data.DataTable[] dts, string strTitle, string FilePath, Hashtable nameList,string[] titles)
{
COM.Excel.cExcelFile excel = new COM.Excel.cExcelFile();
//當(dāng)文件大于10的時(shí)候 清空所有文件?。?!
ClearFile(FilePath);
//文件名
string filename = strTitle+ DateTime.Now.ToString("yyyyMMddHHmmssff") + ".xls";
//生成相應(yīng)的文件
excel.CreateFile(FilePath + filename);
//設(shè)置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);
//設(shè)置字體??!
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;
// 報(bào)表標(biāo)題
int cellformat = 1;
int rowIndex = 1;//起始行
int colIndex = 0;
foreach (System.Data.DataTable dt in dts)
{
colIndex = 0;
//取得列標(biāo)題
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);
}
//取得表格中的數(shù)據(jù)
foreach (DataRow row in dt.Rows)
{
到此,相信大家對(duì)“c#怎么調(diào)用SSIS Package將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入”有了更深的了解,不妨來實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)建站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
網(wǎng)頁名稱:c#怎么調(diào)用SSISPackage將數(shù)據(jù)庫數(shù)據(jù)導(dǎo)入-創(chuàng)新互聯(lián)
地址分享:http://www.rwnh.cn/article14/copdde.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供品牌網(wǎng)站建設(shè)、網(wǎng)站維護(hù)、域名注冊、靜態(tài)網(wǎng)站、外貿(mào)建站、全網(wǎng)營銷推廣
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容