16

アプリケーションから一部の情報をエクスポートするために CsvHelper ライブラリを使用しています。クライアントは通常 Excel を使用して結果を確認します。

ここに画像の説明を入力 (正しく開かれたデータのサンプル)

生成されたファイルをドイツ語(オーストリア)に設定されたフォーマットで別のマシンでテストするまで、すべてがうまく機能していましたが、このフォーマットでは異なる意味を持っている ため Excelが正しく解析できないことがわかりました。ここに画像の説明を入力

最初の行にsep=を追加すると問題が解決するようですが、CsvHelper ドキュメントでこれを達成する方法を見つけることができませんでした。だから質問は

sep= のような区切り文字や、CsvHelper ライブラリを使用して同様の効果を持つものをどのように書くことができますか?

4

3 に答える 3

16

クラス内CsvWriterには、それを行う適切な名前のWriteExcelSeparator()があります。

ライブラリの使用方法に応じて、次のこともできます。

csv.Configuration.Delimiter = ",";
csv.Configuration.HasExcelSeparator = true;

を使用する場合WriteRecordsは 2 番目の方法を使用し、 WriteHeader/をWriteRecord使用する場合は最初の方法を使用します。

csv.WriteExcelSeparator();
csv.WriteHeader<Simple>();
csv.WriteRecord( record );
于 2015-05-25T11:39:20.510 に答える
5

csvHelper は Excel 固有のメソッドをサポートしているため、今すぐこれを行うことができます..

csvWriter.WriteField("sep=,", false);
csvWriter.NextRecord();
csvWriter.WriteRecords(dataToExport);
于 2019-05-22T13:17:21.613 に答える