Я пытаюсь создать файл csv в C#. Сначала я написал небольшой фрагмент кода для тестирования. Я видел на that post, что символ «,» используется для создания разных столбцов, но он не работает для меня.Невозможно создать разные столбцы в CSV
Я искал на другую тему, но все ответ что-то вроде String.Format("{0},{1}", first, second);
Мой код:
String first = "Test name";
String second = "Value";
String newLine = String.Format("{0},{1}", first, second);
csv.AppendLine(newLine);
for (int i = 0; i < 3; i++)
{
first = "Test_" + i;
second = i.ToString();
newLine = String.Format("{0},{1}", first, second);
csv.AppendLine(newLine);
}
System.IO.File.WriteAllText(path, csv.ToString());
Это создать правильно линии, но все в колонке 1
Вы правы, у меня есть английский язык без английского. Я пытался с ';' и он работает. Но мое приложение будет работать на разных компьютерах, английском и неанглийском. Как я могу быть уверен, что пользователь использует английскую версию? (Я не знаю, что такое лента) –
Я обнаружил, что: 'System.Globalization.CultureInfo.CurrentCulture.TextInfo.ListSeparator' работает хорошо, надеюсь, что он будет работать для английской версии. Спасибо за помощь –
'([cultureinfo] :: new ('en-us')). TextInfo.ListSeparator' в PowerShell возвращает', ', поэтому должно быть хорошо. Однако CSV-файлы не имеют возможности привязать к ним культуру, поэтому неплохо, чтобы они меняли свой формат в зависимости от региональных настроек. Я склонен придерживаться позиции, что обменные форматы всегда должны быть одинаковыми. В вашем случае теперь все будет нормально работать на каждом компьютере, когда приложение и Excel будут работать там, но * обменять эти файлы затруднено. – Joey