本文主要是介绍DataTable快速导到Excel方法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
没有格式要求,想快速导出DataTable数据到Excel可以采用以下方式实现,开发人员在调试过程中有时候也可以用来记录比较。
100w的数据导出也就1~2秒的时间。
void Main()
{DataTable dataTable =new DataTable();for(int i=0;i<10;i++){dataTable.Columns.Add("col"+i);}for(int i=0;i<1000000;i++){var dr=dataTable.NewRow();foreach(DataColumn col in dataTable.Columns){dr[col]=col.ColumnName+i;}dataTable.Rows.Add(dr);}string fileName="excel.csv";Stopwatch watch=new Stopwatch();watch.Start();ExportToExcel(dataTable,fileName);watch.Stop();("导出完毕,用时:"+watch.Elapsed).Dump();
}
public static void ExportToExcel(DataTable dataTable,string fileName,bool isOpen=false)
{var lines = new List<string>();string[] columnNames = dataTable.Columns.Cast<DataColumn>().Select(column => column.ColumnName).ToArray();var header = string.Join(",", columnNames);lines.Add(header);var valueLines = dataTable.AsEnumerable().Select(row => string.Join(",", row.ItemArray)); lines.AddRange(valueLines);File.WriteAllLines(fileName,lines);if(isOpen)Process.Start(fileName);
}
测试结果:
这篇关于DataTable快速导到Excel方法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!