Новое Распределяем каналы MAX по категориям и территориям. Читать новость

CSV: запятая внутри значения меняет правила



Простое String.join(",", values) не подходит, если поля содержат кавычки, запятые или переносы строк. Один возможный способ экранирования:
static String csv(String value) {
    if (value.contains(",") || value.contains("\"")
            || value.contains("\n") || value.contains("\r")) {
        return "\"" + value.replace("\"", "\"\"") + "\"";
    }
    return value;
}

Здесь null не допускается: способ записи отсутствующего значения нужно определить отдельно. Для обмена с другими программами согласуйте кодировку, разделитель и окончания строк.

Если CSV откроют в таблице, отдельно учитывайте формулы: обычное CSV-экранирование не защищает от интерпретации значений вроде =... как формул.

#Java

Java Библиотека | Мы в Телеграм
Просмотры: 154
Открыть в MAX Сообщить о неточности

Сообщить о неточности

Опишите, что нужно исправить. Если есть источник, добавьте ссылку.

Вы покидаете datool.ru

Ссылка ведёт на внешний сайт. datool.ru не отвечает за его содержимое — проверьте адрес, прежде чем вводить пароли или платёжные данные.

Переход через 10 с

Перейти