您的位置:首页 > 编程语言 > C#

DataTable快速导到Excel方法

2017-10-12 12:19 127 查看
没有格式要求,想快速导出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);
}

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  excel c# DataTable