DataTable快速导到Excel方法

DataTable快速导到Excel方法

2017年10月12日 12:19:51 涛神-Dev 阅读数 1309

 版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u012097590/article/details/78213452

没有格式要求,想快速导出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);
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值