Разрывы строк в сгенерированном файле CSV сводят меня с ума

Я пытаюсь экспортировать некоторые данные, которые у меня есть (хранящиеся в таблице данных). Некоторые из этих значений содержат разрыв строки. Теперь каждый раз, когда я пытаюсь импортировать файл в Excel (2010), разрывы строк распознаются как новая строка, а не как фактический разрыв строки.

Я искал несколько часов, видел много решений, но просто не могу кажется, это исправлено.

Способ вывода моего файла csv: (переменная csvfile представляет собой конструктор строк)

context.Response.Clear();
context.Response.ContentType = "text/csv";
context.Response.ContentEncoding = System.Text.Encoding.UTF8;
context.Response.AppendHeader("Content-Disposition", "attachment; filename=" + name + ".csv");
context.Response.Write(csvfile.ToString());
context.Response.End();

Когда я открываю ее в Excel вручную, она отображается нормально. Но поскольку Excel 2003 не поддерживает формат файла, мне нужно импортировать его. При импорте он видит разрывы строк (\ n в полях) как новую строку.

К сожалению, я не могу привести вам пример реальных данных, с которыми я работаю (это все личные данные), но я могу дать Вот пример того, как что-то пошло не так:

Header1,Header2,Header3
"value1","value2","value 3
and this is where its going wrong"

Это простой файл csv, и когда вы его импортируете, вы увидите, где что-то пошло не так. По умолчанию я заключаю поля в двойные кавычки. Я также удаляю начальные пробелы из значений по умолчанию.

Я потратил как минимум 2 дня на решение этой, казалось бы, простой проблемы, но, хоть убей, я не могу понять, как я могу ее исправить. Я видел несколько тем по этой же проблеме, но ни одно из предложенных там решений, похоже, не исправляет этого.

9
задан Factor Mystic 10 May 2011 в 15:09
поделиться