Выгрузка / Загрузка в EXCEL данных через ЗаписьXML / ЧтениеXML

Обмен - Загрузка и выгрузка в Excel

Выгрузка/Загрузка данных в xlsx, xlsm файл заданного шаблона, не требующая наличия программы Excel на сервере и на клиенте. Осуществляется путем открытия файла как архива и чтения/записи определенных листов как файлов XML. Проверена на платформе 8.3.10.2466.

Для загрузки файлов из Excel существуют довольно много вариантов, например, перечисленные тут //catalog.1c-e.ru/public/341855/ а вот с выгрузкой все обстоит несколько хуже. Если открывать Excel через COM, требуется его наличие, да и зависшие процессы Excelя в случае ошибок не радуют, как и выскакивающие окна с предупреждениями. ADO - выгружает строго по своему шаблону, не позволяет вставить в файл определенные значения в определенные ячейки, не трогая соседние. ТабличныйДокумент.Записать это вообще один лист, полностью скопированный из таблицы 1С.

Вследствие этих ограничений и была разработана обработка, осуществляющая выгрузку и лишенная всех этих недостатков.

Принцип работы довольно прост, xlsx, xlsm файлы - по сути zip архивы, содержащие xml файлы. Обработка открывает такой архив, ищет файлы листов и перезаписывает эти файлы, добавляя туда свои значения.

Записываются/считываются только значения. Формулы, форматы ячеек и прочее не загружаются и не выгружаются.

В клиент/серверном варианте файл читается на клиенте перекидывается на сервер и возвращается с сервера, сохраняясь на клиенте.

Скачать файлы

Наименование Файл Версия Размер
ТестВыгрузкиЭкзель
.epf 15,39Kb
22.03.18
9
.epf 1.0 15,39Kb 9 Скачать

См. также

Комментарии
Сортировка: Древо
2. SmileDDD 22.03.18 18:58 Сейчас в теме
У вас не было необходимости создавать docx без мс офиса?
3. Wern03 9 22.03.18 19:56 Сейчас в теме
5. hulio 41 23.03.18 07:49 Сейчас в теме
(2) Если есть необходимость реализовать что-то подобное, рекомендую посмотреть, как это сделано в 1С:Документооборот.
Шаблоны файлов в формате docx там обрабатываются именно по тому же принципу, что и у автора публикации - работа с xml.
4. MaxS 1112 22.03.18 20:02 Сейчас в теме
Не помню где читал. В будущих версиях платформы вроде бы обещали средствами 1С читать и записывать несколько листов Excel
6. sansys 47 23.03.18 15:47 Сейчас в теме
Оставьте свое сообщение