Подтвердить что ты не робот

Как использовать запятую в столбцах csv

Возможный дубликат:
Работа с запятыми в файле CSV

Мы экспортируем массивные данные в файл csv для одного из наших проектов. Поэтому в этом случае мы должны экспортировать значения, такие как a, b, c, d, которые должны оставаться в одном столбце. Но запятая будет разделять их на разные столбцы.

Как если бы мы экспортировали некоторые значения, введенные в textarea или редактор, который содержит символ типа \r\n, будут экспортированы как отдельные строки в csv. Как я могу решить эту проблему?

4b9b3361

Ответ 1

Самый распространенный способ справиться с этим - использовать вокруг поля, но в зависимости от того, кто использует ваши файлы, он может быть обработан несколькими способами. Вы можете разграничить запятые, вы можете изменить запятую на специальное значение или использовать другой разделитель, но самая большая команда

Ответ 2

       // CSV rules: http://en.wikipedia.org/wiki/Comma-separated_values#Basic_rules
        // From the rules:
        // 1. if the data has quote, escape the quote in the data
        // 2. if the data contains the delimiter (in our case ','), double-quote it
        // 3. if the data contains the new-line, double-quote it.

        if (data.Contains("\""))
        {
            data = data.Replace("\"", "\"\"");
        }

        if (data.Contains(","))
        {
            data = String.Format("\"{0}\"", data);
        }

        if (data.Contains(System.Environment.NewLine))
        {
            data = String.Format("\"{0}\"", data);
        }

данные могут быть отдельными элементами из db или значением свойства для типа.