怎么写大批量数据到EXCEL
我知道写数据是:l_xlSheet.Cells[l_Row,1]= l_DS.Tables [0].Rows [i].ItemArray [0]
但如果数据集是几万行的大数据量时,怎么写入效率才高呢?
谢谢了!
------解决方案--------------------如果没有明确要求用xls,可以输出到csv文件中,用excel一样可以打开操作。csv的效率很高。
------解决方案--------------------第一,几万行的数量量不算大哈,当然,如果你的数量影响到你的数据的可读性那建议你还是取一部分,生成一部分(这个部分可以是一个excel文件,也可以是一个excel的sheet)
第二,不建议你利用ms自带的excel组件,总是会报一些非正常的错误,如果03版本的excel建议你用NPOI来写入,如果是07及其以上的版本话建议你用myxls或者Epplus,效率和性能都非常的不错。
------解决方案--------------------如果是数据库导出,建议用ADODB.Recordset,非常高效的,如果是逐一读出写入,确实很慢的。。。
------解决方案--------------------如果仅仅是文字,没有图片之类的东西,使用oledb,比较快。
bool Result = false;
string ConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + FileName + ";Extended Properties=\"Excel 8.0;HDR=no;IMEX=0\"";
try
{
System.Data.OleDb.OleDbDataAdapter oledbda = new System.Data.OleDb.OleDbDataAdapter("Select * from [Sheet1$]", ConnectionString);
_Contacts = new DataSet();
oledbda.Fill(_Contacts);
oledbda.Dispose();
oledbda = null;
Result = true;
}
catch { }
return Result;