如何将数据表导出到Excel

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (24)

如何出口DataTable到C#中的Excel?我正在使用Windows,DataTableDataGridView控制室。我得把记录DataTable转到Excel。

提问于
用户回答回答于

尝试简单的代码,将DataTable转换为Excel文件为CSV:

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("excel.csv",lines);

这将写入一个新文件。excel.csv进入“当前工作目录”,该目录通常位于.exe所在的位置或启动它的位置。

请注意,输出中放置逗号(",")在DataTable中已经包含的数据之间。因为它没有转义数据中的逗号,数据中的逗号将被错误地解释。通过程序读取文件。

用户回答回答于

可以将DataTable转换为Excel工作表非常可读的代码:

XLWorkbook wb = new XLWorkbook();
DataTable dt = GetDataTableOrWhatever();
wb.Worksheets.Add(dt,"WorksheetName");

扫码关注云+社区