4

У меня есть текстовый файл с разделителями табуляции с таблицей, в которой есть символы конца строки UNIX (то есть \n) и кодировка UTF-8. Я могу открыть его в MS Excel 2010 без особых проблем, используя Данные → Импорт и выбрав соответствующие параметры. Однако, если я сохраню его обратно в текстовый файл с помощью меню "Файл" → "Сохранить как" → разделенный табуляцией, я получу файл с окончанием строки DOS (т. Е. \r\n) и однобайтовой национальной кодировкой Windows (т. Е. "ANSI").

Конечно, я могу восстановить надлежащий конец строки и кодирование с помощью внешнего инструмента, но в долгосрочной перспективе это выглядит очень хлопотно.

Существует ли быстрый способ сохранить файл, разделенный табуляцией, с помощью UNIX EOL и в UTF8 (т. Е. Используя все настройки, которые использовались при импорте) в MS Excel?

1 ответ1

3

Краткий ответ: нет. Excel не может сделать это без использования VBA.

О разных кодировках
Проверьте этот вопрос Stackoverflow о различных кодировках (UTF-8, UTF-16, Unicode и т.д.)

Что может сделать Excel
Microsoft Excel может экспортировать текстовые файлы, используя ANSI (Windows-1252 или ISO-8859-1, которые очень похожи) или используя Unicode (который совпадает с UTF-16). Оба имеют конец строки в стиле DOS ([CR]+[LF] или '\r\n' или в коде ASCII HEX: 0x0D0A).

Что Excel не может сделать
Microsoft Excel не может экспортировать UTF-8 и не может использовать новые строки в стиле UNIX ([LF] или '\n' или в коде ASCII HEX: 0x0D).

См. Эту статью базы знаний Майкрософт, где это подтверждается. Они возвращаются к другому инструменту (такому как Блокнот), чтобы сохранить файл ANSI в UTF-8.

Для ответа VBA см. Это решение.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .