本文主要讲解“c#如何调用SSIS包导入数据库数据”。感兴趣的朋友不妨看看。本文介绍的方法简单、快速、实用。让边肖学习“c#如何调用SSIS包导入数据库数据”!
(1)背景
如何将数据库中的数据导入EXCEL文件,我们经常会遇到。本文将比较几种常用的方法,并以SSIS为例详细说明其用法。作者认为基于SSIS的方法应该是处理海量数据的最有效的方法。个人认为这是推荐的方法。所以,我决定把我知道的,我总结的全部写出来。首先,提高我的写作和表达能力。二是让更多的读者在具体应用中解决将海量数据导入Excel的效率问题。
(二)方法比较
方案一:SSIS(SQL Server数据集成服务)追求效率,制作Package的过程有点复杂(容易出错)。
方案二:使用COM。Excel组件。一般可以基本满足操作,但数据量大时可能会慢一些。下面的代码我自己稍微修改了一下,如下图:这个方法主要是循环一个一个写单元格,基本方法是Excel。WriteValue (refvt、refcf、refca、refchl、refrowindex、refcolindex、refstr、refcell格式)。当数据量较大时,正效率仍然有影响。
公共字符串数据优势(系统。Data.DataTable[] dts,字符串strTitle,字符串FilePath,Hashtable nameList,字符串[] titles)
{
COM。Excel.cExcelFile excel=new COM。excel . cexcelfile();
//当文件大于10时清空所有文件!
ClearFile(文件路径);
//文件名
字符串文件名=strTitle DateTime。现在. ToString(' yyyymmdhhmmssff ')'。xls ';
//生成相应的文件
excel。CreateFile(文件路径文件名);
//设置边距
COM。excel . cexcelfile . margintypes mt1=COM。excel . cexcelfile . margintypes . xlstop margin;
COM。excel . cexcelfile . margintypes mt2=COM。excel . cexcelfile . margintypes . xlsleftfmargin;
COM。excel . cexcelfile . margintypes mt3=COM。excel . cexcelfile . margintypes . xls light margin;
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将数据库数据导入”有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
内容来源网络,如有侵权,联系删除,本文地址:https://www.230890.com/zhan/115008.html