Получить XML Spreadsheet можно сохранив рабочую книгу Excel как "Таблица XML". В результате мы получаем XML документ, c которым можно работать или при помощи Excel, или как с обычным текстовым документом. Использование второго способа и позволит нам решить поставленную задачу.
Последовательность действий такова: создаем форматированный шаблон в Excel - заголовки, границы, именованные диапазоны, параметры страницы, сквозные строки (столбцы), и.т.д. Кроме того шаблон может содержать несколько рабочих листов. Сохраняем шаблон как "Таблица XML". В 1С пишем обрабатывающую процедуру, которая считает шаблон, как обычный текстовый файл, вставит в него соответствующие данные и сохранит результат в рабочую книгу (*.xls).
В данном примере, для простоты мы будем выгружать справочник банков. Создадим рабочую книгу, отформатируем ячейки, сохраним её как "Таблица XML".
Затем откроем получившийся файл в текстовом редакторе (я рекомендую Notepad++ - мощный удобный и бесплатный). Вставим метки (//1 и //2), ограничивающие строку данных, для того чтобы можно было выделить этот блок при разборе текста (если открыть этот файл в Excel и затем его сохранить, эти символы исчезнут).
Шаблон строки, куда будут выводиться данные, будет выглядеть так:
Далее (в среде 1С) считываем XML-файл в строковую переменную, вырезаем шаблон строки и в цикле создаем набор строк с нашими данными, заменяя метки _num, _cod и _nam на №п/п, код и наименование банка. Затем склеиваем полученный набор строк с остальными фрагментами файла и меняем количество строк:
В нашем случае, заменяем ss:ExpandedRowCount="5" на ss:ExpandedRowCount="5+n-1", где n - количество строк в выборке. И наконец сохраняем полученную строку в файл, c расширением xls.
Описанный метод применим не только к Excel, но и к другим документам MS Office. Относительная простота форматов xml-документов Office позволяет создавать такие документы "на лету" прямо в коде 1С.
Шаблон создан на Excel 2003, пример выгрузки на платформе 8.2.14.537.
Файлы обработки:
- Ispolzuem_XML_Spreadsheet_dlya_vygruzki_v_Excel.rar Для скачивания нужна регистрация
В этой группе 1С
- Пакетная выгрузка отчетов в Excel
- Печать этикеток с штрих-кодами из файла XLS для ТиС
- Загрузка данных из Excel в тонком клиенте
- Работаем с 1С из Excel
- Загрузка данных напрямую в SQL из 1С
- Файл заявки на открытие лицевых счетов для Альфа-банка (Excel) для 8.2
- Сравнение файлов Excel
- Перевод таблицы EXCEL в MXL