我们使用CsvHelper库从我们的应用程序中导出一些信息,我们的客户通常使用Excel来查看结果
(正确打开数据的样本)
一切都运行良好,直到我在德国(奥地利)设置格式设置的另一台机器上测试我生成的文件,我发现excel不再正确解析它是可以理解的,因为,这种格式有不同的含义.

添加sep =,在第一行似乎解决了问题,但我无法在CsvHelper文件中找到我们如何实现这一目标.所以问题是
我们如何使用CsvHelper库编写像sep =或任何具有类似效果的分隔符?
Cod*_*ife 16
他们首先将其更改为 CsvConfiguration 的参数,截至 2021 年 3 月 8 日,它是
var config = new CsvConfiguration(CultureInfo.CurrentCulture) { Delimiter = ";", Encoding = Encoding.UTF8 };
using var csv = new CsvReader(reader, config);
Run Code Online (Sandbox Code Playgroud)
将来他们可能会再次更改它;)
在CsvWriter课堂上有一个恰当的名字WriteExcelSeparator(),应该这样做.
根据您使用库的方式,您甚至可以:
csv.Configuration.Delimiter = ",";
csv.Configuration.HasExcelSeparator = true;
Run Code Online (Sandbox Code Playgroud)
如果你使用WriteRecords,使用第二种方式,而如果你使用 WriteHeader/ WriteRecord使用第一种方式.
csv.WriteExcelSeparator();
csv.WriteHeader<Simple>();
csv.WriteRecord( record );
Run Code Online (Sandbox Code Playgroud)
由于 csvHelper 确实支持特定于 excel 的方法,因此您现在可以执行此操作。
csvWriter.WriteField("sep=,", false);
csvWriter.NextRecord();
csvWriter.WriteRecords(dataToExport);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3828 次 |
| 最近记录: |