从数据表导出时,如何删除 csv 文件第一行的列名?
How to remove the column name on the first row of a csv file, when you export from a datatable?
我有一个 datatable
成功导出到 csv 文件。
事情是这样的
StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = tabelaSISH1.Columns.Cast<DataColumn>().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(";", columnNames));
foreach (DataRow row in tabelaSISH1.Rows)
{
IEnumerable<string> fields = row.ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
File.WriteAllText(xmlDialog1.FileName, sb.ToString());
但问题是 csv 文件的第一行始终是列名。我不要那个。
我希望删除带有列名的行,但是,显然所有发生的事情都是删除数据的第一行 table,而不是列名。
tabelaSISH1.Rows.RemoveAt(0);
它失败了。
for (int row = 1; row < tabelaSISH1.Rows.Count; row++)
{
IEnumerable<string> fields = tabelaSISH1.Rows[row].ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
又失败了,都删除了数据的第一行table,但没有删除 csv 文件中的列名。
提示?
您正在明确获取列名并将它们写入 StringBuilder
,然后用于将 CSV 文件写入磁盘。
只需删除这两行:
IEnumerable<string> columnNames =
tabelaSISH1.Columns.Cast<DataColumn>().Select(column => column.ColumnName);
sb.AppendLine(string.Join(";", columnNames));
我有一个 datatable
成功导出到 csv 文件。
事情是这样的
StringBuilder sb = new StringBuilder();
IEnumerable<string> columnNames = tabelaSISH1.Columns.Cast<DataColumn>().
Select(column => column.ColumnName);
sb.AppendLine(string.Join(";", columnNames));
foreach (DataRow row in tabelaSISH1.Rows)
{
IEnumerable<string> fields = row.ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
File.WriteAllText(xmlDialog1.FileName, sb.ToString());
但问题是 csv 文件的第一行始终是列名。我不要那个。
我希望删除带有列名的行,但是,显然所有发生的事情都是删除数据的第一行 table,而不是列名。
tabelaSISH1.Rows.RemoveAt(0);
它失败了。
for (int row = 1; row < tabelaSISH1.Rows.Count; row++)
{
IEnumerable<string> fields = tabelaSISH1.Rows[row].ItemArray.Select(field => field.ToString());
sb.AppendLine(string.Join(";", fields));
}
又失败了,都删除了数据的第一行table,但没有删除 csv 文件中的列名。
提示?
您正在明确获取列名并将它们写入 StringBuilder
,然后用于将 CSV 文件写入磁盘。
只需删除这两行:
IEnumerable<string> columnNames =
tabelaSISH1.Columns.Cast<DataColumn>().Select(column => column.ColumnName);
sb.AppendLine(string.Join(";", columnNames));