使用“|”将数据表导出到 CSV 文件 分隔符

Jea*_*año 1 c# csv asp.net datatable export

我正在构建一个 ASP.NET C# 项目,该项目具有将 DataTables 导出到 CSV 文件的功能,并|为每个单元格添加分隔符。我希望它看起来像这样:

100001|06/19/1861|Jose|Rizal|Filipino|Calamba, Laguna| 100002|08/30/1850|Marcelo|Del Pilar|Filipino|| 100003||||||

如您所见,每个“单元格”均由 分隔|。此外,空单元格还应该有分隔符。所有行应具有相同数量的|分隔符。

到目前为止我有这个代码:

StringBuilder sb = new StringBuilder();
DataTable dtFile1 = file1BLO.SelectAllFile1();
foreach (DataRow dr in dtFile1.Rows)
{
      //build text file
}
Run Code Online (Sandbox Code Playgroud)

小智 5

你可以试试:

StringBuilder sb = new StringBuilder(); 

string[] columnNames = dt.Columns.Cast<DataColumn>().
                              Select(column => column.ColumnName).
                              ToArray();
sb.AppendLine(string.Join("|", columnNames));

foreach (DataRow row in dt.Rows)
{
    string[] fields = row.ItemArray.Select(field => field.ToString()).
                                ToArray();
    sb.AppendLine(string.Join("|", fields));
}

File.WriteAllText("test.csv", sb.ToString());
Run Code Online (Sandbox Code Playgroud)