Сбербанк выгрузка в excel
Шаг 1. Заказываем выписку в личном кабинете, нажав по своей карте - выписки - заказать. Указываем период, получаем файл pdf и скачиваем.
Шаг 2. Скачиваем с gihub бесплатную программу sberbankPDF2ExcelGUI (мопед не мой, но проверил - работает)
Шаг 3. Запускаем программу и конвертируем выписку из pdf в xls
Шаг 4. Пользуемся любой удобной загрузкой из excel, коих можно найти в ассортименте
Д ля примера прикладываю свою версию загрузки, настройка там не очень гибкая, так как мне это не нужно, но вполне можно пользоваться или допилить под свои нужды.
Подробную инструкцию думаю нет смысла составлять, вроде бы все интуитивно понятно - заполняем значения по умолчанию, которые будут использоваться при создании документов, выбираем режим как отражать приходы - как поступления денег или как получение\возврат долга. В случае если используются расчеты по долгам, можно указать ключевые слова по которым загрузка будет отличать поступления от расчетов по долгам. Указываем сконвертированный файл xls и по кнопке "Выполнить загрузку" создаются документы.
Тестировалось на релизах 1С:Деньги 2.0.19.10, 2.0.36.18
Специальные предложения
Проблема пользователя user733910 была связана с антивирусом.
Проблема была решена за 1 день путём отправки файла на "согласование" в антивирусную компанию. Обрабатываются выписки по дебетовым картам, как на счет кредиток? (4) не могу проверить так как нет кредиток, но теоретически если в ЛК можно запросить выписку в том же формате то думаю должно сработать Не, там другой формат выписки чуть - одна колонка "Сумма в валюте счета", нет колонки "Остаток по счету" - как в дебетовой. Но в принципе, sberbankPDF2ExcelGUI парсит из pdf в txt. Так что автору и за это большое спасибо))))
Просмотры 12935
Загрузки 3
Рейтинг 3
Создание 02.04.21 16:30
Обновление 02.04.21 16:30
№ Публикации 1416238
Кому Для всех
Конфигурация Конфигурации 1cv8
Операционная система Не имеет значения
Страна Россия
Доступ к файлу Абонемент ($m)
Код открыт Да
См. также
Выгрузка реестра зарплаты в ГазПромБанк ЗУП 2.5 c ведущими нулями Промо
Корректно выгружает в текстовый формат поля, начинающиеся на НОЛЬ (Например, серии паспортов вида 0803)
5 стартмани
16.05.2016 38060 16 asher72 1
Автоматическая загрузка выписок в 1С из клиент банка
Загружает выписки в 1с через электронную почту высланные банком.
2 стартмани
06.08.2020 9377 47 user1209971 26
1С:Деньги: Загрузка выписки банка из личного кабинета Тинькофф Банка
Для тех, кто ведет домашние финансы в 1С:Деньги и пользуется услугами Тинькофф Банка. Расширение позволяет загружать операции из личного кабинета Тинькофф Банка напрямую, без промежуточных файлов.
1 стартмани
18.05.2020 7751 23 Bazil 26
Автозагрузка банковских выписок (БП 3.0)
Расширение позволяет автоматизировать загрузку банковских выписок в программу 1С:Бухгалтерия предприятия, ред. 3.0. При начальной настройке создается регламентное задание. Период срабатывания регламентного задания в дальнейшем можно поменять в консоли заданий. Требуется указать каталог, из которого нужно загружать банковские выписки.
1 стартмани
06.04.2020 9726 10 primat 15
Обмен данными с банком "Санкт-Петербург" для ЗУП 2.5.хх и УПП 1.3.хх Промо
Обмен данными по зарплатному проекту с банком "Санкт-Петербург"
2 стартмани
23.07.2014 32502 1 Alex_grem 4
[Расширение] Коды выплаты для Сбербанка
Как и какой код выплаты указать при перечислении в Сбербанк? Как это делать в автоматическом режиме? "Закрываем" этот и некоторые другие вопросы.
3 стартмани
11.11.2019 6728 3 СергейКа 0
Перевод номера банковского счета в стандарт IBAN для Украины
Перевод номера банковского счета в стандарт IBAN (только для Украины). Функции для повторного использования и демо-обработка для платформы 1С 8.х. Тестировалась на платформе 1С 8.3.12.1529
1 стартмани
09.08.2019 15327 3 alexpot 6
Выгрузка платежных ведомостей в банк для Сбербанка и ВТБ
Данная обработка формирует платёжки в формате .xml для Сбербанка и в формате .txt для ВТБ. Так же, помимо документа "Ведомость в банк" можно подхватить документ "Выплаты бывшим сотрудникам", где сотрудникам после увольнения продолжают начислять заработную плату. Разработка велась на версии ЗУП 3.1.8.246.
1 стартмани
25.03.2019 7204 18 nestokay 3
Удобная выгрузка зарплаты в формат CSV для Сбербанк Бизнес Онлайн (ЗУП 2.5) Промо
Самая удобная внешняя обработка для бухгалтера, не требует лишних действий! Выбрал документ и выгрузил в формате CSV для Сбербанк Бизнес Онлайн
10 стартмани
06.11.2015 46698 29 adinez 7
Выгрузка в банк ВТБ для ЗУП 3.1
Обработка выгрузки в банк ВТБ для ЗУП 3.1. Типовая обработка, предоставляемая банком, при попытке выгрузки данных по ведомостям выдавала ошибки. В приложенной обработке они исправлены.
1 стартмани
20.11.2018 9586 43 delfa 4
Загрузка документов Отчет банка по эквайрингу в УТ 11.4 из Excel (Сбербанк)
Обработка производит загрузку документов Отчет банка по эквайрингу из файла Excel, предоставляемого Сбербанком.
1 стартмани
10.10.2018 13484 83 C0mmander_Alex 13
[Расширение] Клиент-Банк. Выбор документов перед загрузкой в УТ 11.4
Данное расширение позволяет отметить галочкой нужные документы из файла выгрузки банк-клиента и загрузить только их, не создавая лишние документы.
2 стартмани
24.07.2018 15848 154 ipetrochenko 53
Выгрузка в банк Уралсиб из БП 3.0 Промо
Внешняя обработка для выгрузки зарплатной ведомости и зарплатных счетов сотрудников
2 стартмани
15.09.2015 17563 0 hawk 0
ДиректБанк: автоматическая загрузка и разбор банковских выписок по расписанию для Бухгалтерии предприятия 3.0
Обработка предназначена для автоматической загрузки по расписанию выписок по расчетному счету из сервиса Директ Банк, без использования цифровой подписи и СМС. После загрузки делает автоматический разбор полученной выписки - создает документы "Списание с расчетного счета", "Поступление на расчетный счет", при необходимости добавляет в справочник новых контрагентов.
3 стартмани
27.06.2018 62447 118 uno-c 144
Обработки (Формата обмена) для загрузки платежных поручений в 1С 8.3 Бухгалтерия для Украины 2.0 (DBF, XML, CSV)
Обработки формата обмена, которые производят чтение файлов выгрузки из КБ, через основную обработку от АББИ Украина для БУ 2.0 Обработка тестировалась на "Бухгалтерия для Украины, редакция 2.0. релиз (2.0.8.2)".
1 стартмани
09.05.2018 35852 155 zVORTEXz 35
Обмен с СУФД (Федеральным казначейством) для Бухгалтерии 2.0 и 3.0
Выгрузка-Загрузка СУФД (ФК) для Бухгалтерия 2.0 и 3.0, ПРОФ и КОРП.
1 стартмани
13.04.2018 44422 353 Vyatcheslav 150
Выгрузка данных по зарплатному проекту для ЗАО "КРЕДИТ ЕВРОПА БАНК" в Excel (для 1С 8.2 HRM) Промо
Внешняя обработка: Выгрузка данных по зарплатному проекту для ЗАО "КРЕДИТ ЕВРОПА БАНК" с созданием файла Excel в 1С 8.2 HRM
1 стартмани
09.11.2011 50365 178 02RUSlan 28
Выгрузка начислений родительской платы в формате txt для СберБанка из БГУ 1.0
Обработка формирует реестр из документа "Начисление родительской платы" в текстовый документ для загрузки в Сбербанк Онлайн. Готова к работе. Программист для установки и работы не требуется.
1 стартмани
22.11.2017 16902 38 Denis_CFO 1
Выгрузка ведомости перечислений на счета ЗУП 3.1 в клиент-банк (txt)
Обработка предназначена для выгрузки данных документа "Ведомость перечислений на счета" в текстовый файл, для последующей загрузки в программу типа "Клиент банка".
1 стартмани
22.11.2017 25434 122 gorsh157 3
Выгрузка данных физ.лиц в файл Сбербанка
Обработка предназначена для программы ЗУП 3.0, выгружает данные по физ.лицам в стандартный файл, присланный Сбербанком по зарплатному проекту
1 стартмани
08.09.2017 18272 32 Vogde 14
Выгрузка в банк из "Камин" заработной платы Промо
Выгрузку можно делать для 2 банков ВТБ и Уралсиб, уралсиб выгружает 2 вида файлов
2 стартмани
23.10.2014 25917 0 hawk 1
Работа с интегрированным терминалом Сбербанка через утилиту upwin.exe
Утилита UPWIN.exe от Сбербанка, коды команд для управления интегрированным банковским терминалом (управляемые формы, обычные под 8.1). Обработка на управляемых формах запускается под любой конфигурацией, обработка на обычных формах также запускается под любой конфигурацией на платформе от 8.1 и выше
1 стартмани
05.09.2017 32168 108 independ 20
Клиент-банк, поиск плательщиков по назначению платежа
Решение задачи рассмотрим на примере загрузки и разнесения банковской выписки по договорам и контрагентам из текста назначения платежа.
1 стартмани
30.08.2017 13278 1 duhh 14
Выписки банка Приват24 в 1С
Простая обработка (обычные формы) которая позволяет просматривать выписки (движение средств) по счетам "Приватбанка", обработка позволяет к определенной кассе/счету привязать логин/пароль для входа в Приват24, после чего ответственному менеджеру необходимо будет только указать кассу/счет и период получения выписок, обработка авторизируется на портале Приват24, получит данные и отобразит движения по счету за указанный период и текущий остаток средств.
5 стартмани
08.08.2017 23518 14 azubar 4
Выгрузка в Сбербанк Промо
Обработка для выгрузки списка лицевых счетов для зачисления заработной платы в формате DBF, согласно требованиям СБРФ
1 стартмани
31.01.2013 30898 134 alfaservice 7
Модуль обмена с банком УралСиб
Формирование файлов реестров в банк УралСиб для ЗУП 3.1
1 стартмани
21.07.2017 15590 44 OlegBog1971 28
Загрузка документов (e-invoicing) Сбербанк
На основе xml файла, выгруженного из системы e-invoicing (Сбербанк), создается документ поступления и счет-фактура по услугам банка.
1 стартмани
21.07.2017 15154 61 anchovy 30
Выгрузка зарплаты в Сбербанк, формат csv, для ЗУП 3.1
Выгрузка зарплаты в Сбербанк из документа "Ведомость на выплату зарплаты в банк" в формате CSV для ЗУП 3.1
1 стартмани
17.05.2017 32871 197 shtinalex 8
Загрузка операций по карте Сбербанка в 1С:Деньги Промо
Обработка для импорта операций по карте Сбербанка в 1С:Деньги; Сегодня многие платят за покупки с помощью банковских карт. Особенно актуально если у вас зарплатная карта от Сбербанка и вы ведете учет личных финансов в программе 1С Деньги. В какой-то момент мне надоело коллекционировать чеки и я написал эту обработку. :) Надеюсь вам она тоже сэкономит личное время. UPD Добавлена версия для "Деньги 8, редакция 2.0 (2.0.18.6)"
1 стартмани
01.09.2013 33593 68 el-gamberro 33
Обработка импорта\экспорта данных по зарплатной ведомости в клиент-банк УкрЭксимБанка
Обработка позволяет выполнять выгрузку документов Зарплатная ведомость организаций в клиент-банк УкрЭксимБанка. Для выгрузки данных по зарплатной ведомости, предварительно необходимо загрузить номера контрактов в 1С (записываются как свойства элементов справочника физ.лиц.) Для удобства реализована возможность загрузки обработки в базу через механизм внешних печатных форм. Протестировано на УТП.
10 стартмани
21.02.2017 18102 3 Romeooo 0
Приват 24 для физлиц: загрузка выписок по счету
5 стартмани
16.07.2016 14679 17 Nik_1c_bitrix 5
Выгрузка зарплаты в Газпромбанк (в формате Excel)
Выгрузка реестра в формате Excel в Газпромбанк в виде дополнительной печатной формы к документу "Зарплата к выплате"
1 стартмани
23.08.2015 18373 42 Zerocl 4
Зачисление на карты Сбербанка групповое (1С ЗКБУ 8.2) Промо
Изменил типовую обработку "Операции с лицевыми счетами". Позволяет сформировать один общий файл выгрузки по группе документов "Ведомость в банк" и распечатать Реестр. При наличии одного и того же физлица в разных документах - суммы схлопываются.
1 стартмани
24.02.2012 24204 125 LuckyBeast 16
Выгрузка в Сбербанк в формате xml для ЗУП 2.5
Выгрузка в Сбербанк сводно.
1 стартмани
03.06.2015 12646 83 Spirit11 2
Расширение обработки "Обмен с банком" - колонка "Назначение платежа" в отчете о выгруженных документах.
Расширение добавляет колонку "Назначение платежа" в отчет о выгруженных платежных документах. Решает задачу без изменения конфигурации.
Утилита для конвертации выписки Сбербанка по карте из формата PDF в формат Excel
Шаг 1 Запустите sberbankPDF2ExcelGUI.bat
Шаг 2 Выберите один или несколько файлов выписки Сбербанка по карте в формате PDF
Шаг 3 Нажмите "Сконвертировать выбранные файлы"
Результат: утилита создаст файлы с расширением .xlsx
Как безопасно пересылать проблемный файл
В случае если происходит ошибка в конвертации выписки, разработчику потребуется доступ к проблемной выписке для исправления программы. Если из соображений конфиденциальности нет возможности переслать разработчику изначальную выписку, можно переслать анонимизированный промежуточный текстовый файл. Для этого надо сделать следующее:
При ошибке конвертации конвертер создаст промежуточный текстовый файл с расширением .txt. Этот файл содержит текстовую информацию из pdf-выписки, которая в дальнейшем должна была быть использована для создания Excel - файла. Однако не вся текстовая информация используется для создания Excel файла. Задача состоит в том чтобы удалить неспользуемую конфиденциальную информацию либо заменить используемую конфиденциальную информацию, но сделать это таким образом чтобы конвертер всё еще распознавал бы структуру файла и смог бы выполнить проверку вычисления сумм трансакций. Инструкция показывает что можно удалять, что можно заменять, а что нужно оставить без изменений.
Используйте инструкцию чтобы удалить конфиденциальную информацию из промежуточного текстового файла (номер карты, фамилию, имя и т.д.). Старайтесь удалять или менять как можно меньше информации. На выходе должно получиться что-то типа этого: пример анонимизированного промежуточного текстового файла
Попытайтесь сконвертировать теперь уже анонимизированный текстовый файл используя всё тот же sberbankPDF2ExcelGUI (для этого на Шаге 2 при выборе файлов надо разрешить выбор любых файлов, а не только .pdf)
Выгрузка данных из 1С в Excel - задача, которая встречается довольно часто, но, к сожалению, не все пользователи знают как ее правильно решить.
Хорошая новость заключается в том, что сделать это очень просто, буквально в 2 клика мышкой.
Выгрузка данных из отчетов 1С в Excel
Для начала откроем отчет. Любой. В нашем примере мы рассмотрим два отчета: один из УНФ, другой из УТ.
✅ Способ №1 (Подходит для всех конфигураций)
Нажмите на клавиатуре Ctrl+S. Самый универсальный способ.
✅ Способ №2 (Конфигурации на управляемых формах)
Нажать на иконку с дискетой в правом верхнем углу
✅ Способ №3 (Конфигурации на обычных формах)
Нажать файл, затем "сохранить" или "сохранить как". Или нажать на на иконку с дискетой.
✅ Способ №4 (Сохранение данных по нажатию кнопки из формы отчета)
Во многих типовых конфигурациях на форму отчета выведены кнопки, при нажатии на которые, можно сохранить данные.
Вне зависимости от способа, которым вы воспользуетесь, откроется окно сохранения файла.
В этом окне нужно указать адрес папки, в которую вы хотите сохранить файл:
Затем необходимо указать имя файла:
Обязательно указываем тип файла (выбираем старый или новый формат Excel).
Кстати, не обязательно выбирать именно Excel, если вам нужно сохранить данные в Word или PDF - просто выберите интересующий вас формат в списке.
После этого нажимаем на кнопку "Сохранить":
Файл с данными из отчета в формате Excel появится в указанной вами папке :)
Сохранение данных из списков и табличных частей в Excel
Еще одна полезная фишка, о которой стоит рассказать.
А вы знали, что практически любой список или табличную часть документа из 1С можно запросто сохранить в Excel? Теперь знаете.
Управляемые формы
Для примера откроем список заказов клиентов в УНФ:
Перед тем, как вывести его на печать, возможно? вы захотите установить период, а также нужные вам отборы.
Есть в IT-отрасли задачи, которые на фоне успехов в big data, machine learning, blockchain и прочих модных течений выглядят совершенно непривлекательно, но на протяжении десятков лет не перестают быть актуальными для целой армии разработчиков. Речь пойдёт о старой как мир задаче формирования и выгрузки Excel-документов, с которой сталкивался каждый, кто когда-либо писал приложения для бизнеса.
Какие возможности построения файлов Excel существуют в принципе?
- VBA-макросы. В наше время по соображениям безопасности идея использовать макросы чаще всего не подходит.
- Автоматизация Excel внешней программой через API. Требует наличия Excel на одной машине с программой, генерирующей Excel-отчёты. Во времена, когда клиенты были толстыми и писались в виде десктопных приложений Windows, такой способ годился (хотя не отличался скоростью и надёжностью), в нынешних реалиях это с трудом достижимый случай.
- Генерация XML-Excel-файла напрямую. Как известно, Excel поддерживает XML-формат сохранения документа, который потенциально можно сгенерировать/модифицировать с помощью любого средства работы с XML. Этот файл можно сохранить с расширением .xls, и хотя он, строго говоря, при этом не является xls-файлом, Excel его хорошо открывает. Такой подход довольно популярен, но к недостаткам следует отнести то, что всякое решение, основанное на прямом редактировании XML-Excel-формата, является одноразовым «хаком», лишенным общности.
- Наконец, возможна генерация Excel-файлов с использованием open source библиотек, из которых особо известна Apache POI. Разработчики Apache POI проделали титанический труд по reverse engineering бинарных форматов документов MS Office, и продолжают на протяжении многих лет поддерживать и развивать эту библиотеку. Результат этого reverse engineering-а, например, используется в Open Office для реализации сохранения документов в форматах, совместимых с MS Office.
Но у прямого использования Apache POI есть и недостатки. Во-первых, это Java-библиотека, и если ваше приложение написано не на одном из JVM-языков, вы ей вряд ли сможете воспользоваться. Во-вторых, это низкоуровневая библиотека, работающая с такими понятиями, как «ячейка», «колонка», «шрифт». Поэтому «в лоб» написанная процедура генерации документа быстро превращается в обильную «лапшу» трудночитаемого кода, где отсутствует разделение на модель данных и представление, трудно вносить изменения и вообще — боль и стыд. И прекрасный повод делегировать задачу самому неопытному программисту – пусть ковыряется.
Но всё может быть совершенно иначе. Проект Xylophone под лицензией LGPL, построенный на базе Apache POI, основан на идее, которая имеет примерно 15-летнюю историю. В проектах, где я участвовал, он использовался в комбинации с самыми разными платформами и языками – а счёт разновидностей форм, сделанных с его помощью в самых разнообразных проектах, идёт, наверное, уже на тысячи. Это Java-проект, который может работать как в качестве утилиты командной строки, так и в качестве библиотеки (если у вас код на JVM-языке — вы можете подключить её как Maven-зависимость).
Xylophone реализует принцип отделения модели данных от их представления. В процедуре выгрузки необходимо сформировать данные в формате XML (не беспокоясь о ячейках, шрифтах и разделительных линиях), а Xylophone, при помощи Excel-шаблона и дескриптора, описывающего порядок обхода вашего XML-файла с данными, сформирует результат, как показано на диаграмме:
Шаблон документа (xls/xlsx template) выглядит примерно следующим образом:
Как правило, заготовку такого шаблона предоставляет сам заказчик. Вовлечённый заказчик с удовольствием принимает участие в создании шаблона: начиная с выбора нужной формы из «Консультанта» или придумывания собственной с нуля, и заканчивая размерами шрифтов и ширинами разделительных линий. Преимущество шаблона в том, что мелкие правки в него легко вносить уже тогда, когда отчёт полностью разработан.
Когда «оформительская» работа выполнена, разработчику остаётся
- Создать процедуру выгрузки необходимых данных в формате XML.
- Создать дескриптор, описывающий порядок обхода элементов XML-файла и копирования фрагментов шаблона в результирующий отчёт
- Обеспечить привязку ячеек шаблона к элементам XML-файла с помощью XPath-выражений.
Если бы в форме, которую мы создаём, не было повторяющихся элементов с разным количеством (таких, как строки накладной, которых разное количество у разных накладных), то дескриптор выглядел бы следующим образом:
Здесь root – название корневого элемента нашего XML-файла с данными, а диапазон A1:Z100 – это прямоугольный диапазон ячеек из шаблона, который будет скопирован в результат. При этом, как можно видеть из предыдущей иллюстрации, подстановочные поля, значения которых заменяются на данные из XML-файла, имеют формат
(тильда, фигурная скобка, XPath-выражение относительно текущего элемента XML, закрывающая фигурная скобка).
Что делать, если в отчёте нам нужны повторяющиеся элементы? Естественным образом их можно представить в виде элементов XML-файла с данными, а помочь проитерировать по ним нужным образом помогает дескриптор. Повторение элементов в отчёте может иметь как вертикальное направление (когда мы вставляем строки накладной, например), так и горизонтальное (когда мы вставляем столбцы аналитического отчёта). При этом мы можем пользоваться вложенностью элементов XML, чтобы отразить сколь угодно глубокую вложенность повторяющихся элементов отчёта, как показано на диаграмме:
Красными квадратиками отмечены ячейки, которые будут являться левым верхним углом очередного прямоугольного фрагмента, который пристыковывает генератор отчёта.
Есть и ещё один возможный вариант повторяющихся элементов: листы в книге Excel. Возможность организовать такую итерацию тоже имеется.
Рассмотрим чуть более сложный пример. Допустим, нам надо получить сводный отчёт наподобие следующего:
Пусть диапазон лет для выгрузки выбирает пользователь, поэтому в этом отчёте динамически создаваемыми являются как строки, так и столбцы. XML-представление данных для такого отчёта может выглядеть следующим образом:
Мы вольны выбирать названия тэгов по своему вкусу, структура также может быть произвольной, но с оглядкой на простоту конвертации в отчёт. Например, выводимые на лист значения я обычно записываю в атрибуты, потому что это упрощает XPath-выражения (удобно, когда они имеют вид @имяатрибута ).
Шаблон такого отчёта будет выглядеть так (сравните XPath-выражения с именами атрибутов соответствующих тэгов):
Теперь наступает самая интересная часть: создание дескриптора. Т. к. это практически полностью динамически собираемый отчёт, дескриптор довольно сложен, на практике (когда у нас есть только «шапка» документа, его строки и «подвал») всё обычно гораздо проще. Вот какой в данном случае необходим дескриптор:
Полностью элементы дескриптора описаны в документации. Вкратце, основные элементы дескриптора означают следующее:
- element — переход в режим чтения элемента XML-файла. Может или являться корневым элементом дескриптора, или находиться внутри iteration . С помощью атрибута name могут быть заданы разнообразные фильтры для элементов, например
- name="foo" — элементы с именем тэга foo
- name="*" — все элементы
- name="tagname[@attribute='value']" — элементы с определённым именем и значением атрибута
- name="(before)" , name="(after)" — «виртуальные» элементы, предшествующие итерации и закрывающие итерацию.
- mode="horizontal" — режим вывода по горизонтали (по умолчанию — vertical)
- index=0 — ограничить итерацию только самым первым встреченным элементом
- sourcesheet —лист книги шаблона, с которого берётся диапазон вывода. Если не указывать, то применяется текущий (последний использованный) лист.
- range – диапазон шаблона, копируемый в результирующий документ, например “A1:M10”, или “5:6”, или “C:C”. (Применение диапазонов строк типа “5:6” в режиме вывода horizontal и диапазонов столбцов типа “C:C” в режиме вывода vertical приведёт к ошибке).
- worksheet – если определён, то в файле вывода создаётся новый лист и позиция вывода смещается в ячейку A1 этого листа. Значение этого атрибута, равное константе или XPath-выражению, подставляется в имя нового листа.
Ну что же, настало время скачать Xylophone и запустить формирование отчёта.
Возьмите архив с bintray или Maven Central (NB: на момент прочтения этой статьи возможно наличие более свежих версий). В папке /bin находится shell-скрипт, при запуске которого без параметров вы увидите подсказку о параметрах командной строки. Для получения результата нам надо «скормить» ксилофону все приготовленные ранее ингредиенты:
Открываем файл report.xlsx и убеждаемся, что получилось именно то, что нам нужно:Так как библиотека ru.curs:xylophone доступна на Maven Central под лицензией LGPL, её можно без проблем использовать в программах на любом JVM-языке. Пожалуй, самый компактный полностью рабочий пример получается на языке Groovy, код в комментариях не нуждается:
У класса XML2Spreadsheet есть несколько перегруженных вариантов статического метода process , но все они сводятся к передаче всё тех же «ингредиентов», необходимых для подготовки отчёта.Важная опция, о которой я до сих пор не упомянул — это возможность выбора между DOM и SAX парсерами на этапе разбора файла с XML-данными. Как известно, DOM-парсер загружает весь файл в память целиком, строит его объектное представление и даёт возможность обходить его содержимое произвольным образом (в том числе повторно возвращаясь в один и тот же элемент). SAX-парсер никогда не помещает файл с данными целиком в память, вместо этого обрабатывает его как «поток» элементов, не давая возможности вернуться к элементу повторно.
Использование SAX-режима в Xylophone (через параметр командной строки -sax или установкой в true параметра useSax метода XML2Spreadsheet.process ) бывает критически полезно в случаях, когда необходимо генерировать очень большие файлы. За счёт скорости и экономичности к ресурсам SAX-парсера скорость генерации файлов возрастает многократно. Это даётся ценой некоторых небольших ограничений на дескриптор (описано в документации), но в большинстве случаев отчёты удовлетворяют этим ограничениям, поэтому я бы рекомендовал использование SAX-режима везде, где это возможно.
Надеюсь, что способ выгрузки в Excel через Xylophone вам понравился и сэкономит много времени и нервов — как сэкономил нам.
Читайте также: