Автор: VictorKos
Дата сообщения: 08.05.2008 21:14
Фирмы-партнёры присылают файлы в формате CSV. Задача - объединить их в один файл. Небольшая проблема в том, что некоторые данные используют в качестве разделителя точку, а Excel при открытии этих файлов начинает преобразовывать их в даты (например, вместо 2.12 в ячейке получается 02.дек или вместо 10.28 подставляет окт.28) или вместо больших чисел 1230000000 получается 1,23E+09 (экспоненциальный формат). Если полученный объединённый файл сохранять в формате CSV, то эти искаженные данные так и сохранятся, а это недопустимо.
Приходится предварительно открывать пустую книгу Excel, принудительно делать формат всех ячеек текстовым, потом открывать CSV файл в текстовом редакторе, копировать всё содержимое, вставлять в Excel, разбивать текст по столбцам с указанием разделителя, формата.
Можно, конечно, объединять файлы в каком нибудь текстовом редакторе (по сути, CSV - обычный текстовый файл), но может появиться проблема с кодировкой кириллицы - в CSV кодировка досовская, а блокнот любит win-1251. И ещё - каждый файл имеет свою сквозную нумерацию в первом столбце и в Excel исправить нумерацию для итогового файла гораздо проще, нежели в текстовом редакторе.
В общем - тривиальная вроде бы задача объединения нескольких CSV файлов в один отнимает слишком много времени. Дело осложняется тем, что эту задачу могут выполнять разные люди, но не все достаточно хорошо знают, как бороться с описанными выше ошибками.
Нет ли какого нибудь простого способа заставить Excel не преобразовывать формат исходных данных, а оставлять их в том виде, в каком они были.