2015-05-25 2 views
4

мы используем библиотеку CsvHelper экспортировать информацию из нашего приложения, наши клиенты обычно используют Excel, чтобы увидеть результатыКак мы можем написать разделитель как sep =, используя библиотеку CsvHelper?

enter image description here (образец правильно открыли данные)

все не работает хорошо, пока я протестировал мои сгенерированные файлы на другой машине с помощью формата, установленного на German (Austria), который я узнал, что excel больше не будет разбирать его правильно, что понятно, потому что , имеет другое значение в этом формате. enter image description here

добавление сен =, в первой строке, кажется, исправить эту проблему, но я не мог найти в CsvHelper документы, которые как мы можем достичь этого. поэтому возникает вопрос:

Как мы можем написать разделитель как sep =, или что-нибудь подобное с использованием библиотеки CsvHelper?

ответ

5

Внутри класса CsvWriter есть метко названный WriteExcelSeparator(), который должен это сделать.

В зависимости от того, как вы используете библиотеку, вы даже можете:

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

Если вы используете WriteRecords, используйте второй способ, в то время как при использовании WriteHeader/WriteRecord использовать первый.

csv.WriteExcelSeparator(); 
csv.WriteHeader<Simple>(); 
csv.WriteRecord(record); 
+0

спасибо, работает отлично – user3473830

+0

@ user3473830 Обратите внимание, что все, что я написал, я легко нашел, перейдя к исходному коду CsvHelper https://github.com/JoshClose/CsvHelper, и делать поиск * Сен * – xanatos

+0

Я действительно смущен, наша компания использует csvhelper версии 2.5, которая не имеет этой функции (я сейчас проверил), я по ошибке только проверил наш локальный репозиторий клонов и не считал, что эта функция может быть добавлена ​​в более новые версии , спасибо за вашу помощь снова. – user3473830

Смежные вопросы