Страницы: 1
RSS
Конвертация таблиц xml в xlsx (с превышением допустимого количества столбцов excel 2003)
 
Есть проблема: нужно конвертировать отчет из 1С 7.7. (xml) в формат Эксель 2007, так как при конвертации в формат 2003 превышается максимально возможное количество столбцов. 1С 7.7 не дает возможности выбора версии. Конвертированный 1С-кой xls файл в Excel 2003 и  2007 не открывается совсем. Пробовали:  
1) Сохранять в html (вариант - txt) с последующим открытием в Excel 2007 - теряется часть данных, т.к. числа преобразуются в дату. Зато открываются все столбцы. Может, с форматом данных как-то можно бороться?    
2) Открывать конвертированный 1С-кой файл xls в Libre Office. Частично решает проблему, так как открывается хотя бы часть столбцов.  
Нашла кучу конвертеров, но либо для 1С 8, либо в Excel 2003. Может, кто подскажет, как конвертировать в Excel 2007 напрямую или открыть xml в excel 2007?  
Файл огромный, что-то не хочется цеплять, могу выслать мылом.
 
>>1) Сохранять в html (вариант - txt) с последующим открытием    
>>в Excel 2007 - теряется часть данных, т.к. числа преобразуются в дату.    
>>Зато открываются все столбцы. Может, с форматом данных как-то можно бороться?    
 
--------------------  
сохраняла все поля с кавычкой --как символы  
 
хотя я работала в акцесс, мне надоело воевать с н/д и ошибка в данных  
 
select datac, cdate(datac) as dated,kolc,val(kolc) as koln, .........  
 
сразу видела    
--что есть  
--что получила  
--что откорректировать автоматом(разделитель дробной части или разделитель тысяч)  
--или вручную --явная лажа
 
>>сохраняла все поля с кавычкой --как символы    
 
Сохраняла где? У меня отчет открывается только в 1С. Что там можно сохранить с кавычками? Вообще мало что поняла из Вашего сообщения. Access причем? Можно понятнее?
 
для создания примера - откройте файл в блокноте - скопируйте первые 100 строк в другой текстовый файл - выложите на форум.  
 
В 2007 есть импорт из xml файла (вкладка разработчик) - импорт из xml - работает или нет?
 
а в чем проблема нажимаем на файл хмл правой кн мыши открыть с помощью эксель и все ...
 
Да и текст можно открывать через импорт текста с заданием нужного формата нужным столбцам.  
Можно один раз записать процесс в макрос - данные ведь думаю всегда будут расположены стандартно одинаково.
 
>>в Excel 2007 - теряется часть данных, т.к. числа преобразуются в дату  
По-видимому, это связано с точкой-разделителем целой и дробной части  
 
Можно перед импортом изменить параметры Excel:  
(Excel 2003) Сервис >> Параметры >> Международные >> Снять галочку "Использовать системные разделители" >> Установить разделитель целой и дробной части "."  
VBA: Application.UseSystemSeparators = False  
Application.DecimalSeparator = "."  
 
После импорта восстановить  
 
 
 
После импорта восстановить
 
Если работа частая, формат постоянен, виноваты разделители, то есть смысл писать макрос.  
Если файл можно разом считать в память, то можно сделать так:  
1. считать и разбить в массив по строкам.  
2. создать пустой массив нужной высоты (по результату п.1) и ширины по задаче.  
3. циклом переложить из одного в другой уже разбивая строки по полям.  
4. задать листу нужный формат, выгрузить.  
 
Вариант попроще, если так можно сделать - в блокноте поменять в тексте все точки на запятые или наоборот, импортировать стандартно текст.
Страницы: 1
Читают тему
Loading...