通过逐行逐个单元格向Excel写入数据的方式比较慢,下面介绍通过OLEDB方式向excel批量写入数据,速度可以提高很多倍。
使用OLEDB方式写入数据到excel表格
【方法一】
/// <summary>
/// 使用oledb快速写入数据到excel
/// </summary>
/// <param name="data"></param>
/// <param name="newFileName"></param>
static public void FastWriteToExcel2(DataTable data,string newFileName)
{
/*
* 注意:使用该方法,要求如下:
* (1)将IMEX值设置为0
* (2)excel文件newFileName已经存在
* (3)excel文件的Sheet1中的第一行必须存在于dt一致的列名及顺序
*/
string oledbString = string.Empty;
string tmstr = "Extended Properties='Excel 8.0;HDR=YES;IMEX=0;'";
try
{
oledbString = System.Configuration.ConfigurationManager.AppSettings["oledbString"].ToString();
tmstr = System.Configuration.ConfigurationManager.AppSettings["ExtendedString"].ToString();
}
catch (Exception e)
{
throw e;
}
//s