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);
}
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);
}
相关文章推荐
- ASP.Net的导出Excel的快速方法,DataTable导出Excel(亲测,非原创)
- asp.net DataTable导出 excel的方法记录(第三方)
- C#中datatable导出excel(三种方法)
- 将DataTable对象导出至Excel的方法,支持多DataTable对象的导出!
- EF 返回DataTable 扩展方法 与 Excel导出扩展方法 笔记
- C#中datatable导出excel(三种方法)
- DataTable 类型 导出Excel 方法
- asp.net DataTable导出Excel自定义列名的方法
- Excel 导入到Datatable 中,再使用常规方法写入数据库
- excel快速复制大量公式的方法
- C#快速汇出DataTable到Excel文件
- C# 将内存中的datatable数据导出为Excel(方法一,以文件流方式导出)
- 如何快速导出数据库为EXCEL文档(另一种方法)
- DataTable 导出Excel显示科学技术法的解决方法
- 如何快速导出数据库为EXCEL文档(另一种方法)
- Oracle导入excel数据快速方法
- 快速地将Excel数据导入到SQL2005中的方法
- 封装了一个NPOI操作类 WriteToDownLoad方法对DataTable和List写入Excel
- 将Excel导入到DataTable (用ODBC方法连接)
- 能快速地将Excel数据导入到SQL2005中的方法