Выгрузка в Excel в сводные таблицы и графики с условным форматированием

25.10.24

Интеграция - Загрузка и выгрузка в Excel

Когда заказчик любит Excel и говорит, что в экспортах из 1С слишком мало цвета, графиков и сводных таблиц, мы делаем кроссплатформенную выгрузку через прямую запись в xml файлы в соответствии с стандартом OpenXML.

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
ooxml_КнигаExcel.epf
.epf 87,08Kb
11
11 Скачать (1 SM) Купить за 1 850 руб.

Друзья, в обработке присутствует пример выгрузки, в которой реализовано:

  • Приведение экспортируемых данных к типам Excel. В целом доступно применение любого формата числа (даты).
  • Полный доступ к настройкам стилей. Шрифты, границы, оформление цветом.
  • Вывод строк, добавление группировок, настройка ширины колонок, объединение ячеек.
  • Применение условного форматирования. Например возможно выделить ячейки значение которых больше 500 цветом или применить "Шкалу цветов".
  • Добавление графиков. Как вариант можно добавить гистограмму Парето, в примере выведены 3 различных графика.
  • Добавление сводных таблиц. Доступно применение отборов, добавление фильтров, строк, столбцов, значений.

Конечно, это не все возможности Excel, но я глубоко убежден, что с помощью этой разработки каждый сможет воплотить в реальность все требования к оформлению от заказчика. Все, что нужно, это создать пустой файл Excel, скопировать его и внести необходимые изменения уже во второй файл, а после сравнить файлы xml до и после и реализовать необходимые изменения в обработке.

Приведу пример вывода сводной таблицы из примера, реализованного в обработке:

Процедура ПримерЭкспортаЛистДанныеСводнаяТаблицаВывести(КнигаExcel, КолонкиExcel, ДанныеВыборка, ОформленияЯчеек)

	// Выполним добавление сводной таблицы
	КнигаExcel.ЛистСводнаяТаблицаДобавить();

	// Выполним установку источника данных
	КнигаExcel.ЛистСводнаяТаблицаИсточникДанныхУстановить(КолонкиExcel
	, ОформленияЯчеек
	, 1
	, КолонкиExcel.ВГраница()
	, 1
	, ДанныеВыборка.Количество() + 1);

	// Выполним размещение
	КнигаExcel.ЛистСводнаяТаблицаРазместить("L3:N20");
	
	// Выполним описание полей
	КолонкаОписание = КнигаExcel.КолонкаОписаниеНайти(КолонкиExcel, "Строка"); 
	КнигаExcel.ЛистСводнаяТаблицаСтрокаДобавить(КолонкаОписание);
	
	КнигаExcel.ЛистСводнаяТаблицаОтборДобавить(КолонкаОписание, "Уфа");
  	КнигаExcel.ЛистСводнаяТаблицаОтборДобавить(КолонкаОписание, "Николаевка");
	
	
	КолонкаОписание = КнигаExcel.КолонкаОписаниеНайти(КолонкиExcel, "ДатаМесяц"); 
	КнигаExcel.ЛистСводнаяТаблицаСтолбецДобавить(КолонкаОписание);
	
	
	КолонкаОписание = КнигаExcel.КолонкаОписаниеНайти(КолонкиExcel, "ЧислоССотыми"); 
	КнигаExcel.ЛистСводнаяТаблицаЗначениеДобавить(КолонкаОписание);
	
	
	КолонкаОписание = КнигаExcel.КолонкаОписаниеНайти(КолонкиExcel, "ЧислоЦелоеРубль"); 
	КнигаExcel.ЛистСводнаяТаблицаФильтрДобавить(КолонкаОписание, Неопределено);
	
	// Выполним сохранение в книгу
	КнигаExcel.ЛистСводнаяТаблицаЗаписать();
	
КонецПроцедуры


Как видите, все просто, данная разработка в помощь!

Обработка является частью модуля Стандартные подсистемы.

Проект и исходный код доступен на GitLab. 

 

 -----

Требования:

- Обработка предназначена для версии платформы >= 8.3.10, тестировалась на 8.3.10.2772

 

-----

Ссылки:
- Проект в GitLab
- Инструмент для сравнения файлов xlsx

Проверено на следующих конфигурациях и релизах:

  • 1С:Библиотека стандартных подсистем, редакция 3.1, релизы 3.1.10.344

Обработка Excel OpenXML

См. также

SALE! 20%

Загрузка и выгрузка в Excel Оптовая торговля Печатные формы Бухгалтер Пользователь Платформа 1С v8.3 Управляемые формы Платформа 1C v8.2 Конфигурации 1cv8 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная обработка для загрузки документов из Excel в 1С одним нажатием. Не требует указания параметров (номера колонок, номер первой строки таблицы и т.д.) и предварительной настройки. Просто выбираете файл Excel, документ 1С и нажимаете кнопку "Загрузить". Обработка сама находит таблицу в файле Excel, необходимые для загрузки данные в ней (номенклатура, количество, НДС, цена, сумма) и загружает ее в 1С. Вместе с номенклатурой может найти контрагента, номер и дату документа, штрих-коды, серии ГТД, страну и т.д. Распознает документы ЛЮБОЙ ФОРМЫ (УПД, ТОРГ-12, заказ, отчет комиссионера и т.д.). Не требует MS Office. Для поиска таблиц используются методы эвристического поиска. Загружает только то, что нужно, т.е. пропускает повторы шапки таблицы, заголовки, промежуточные итоги, подписи и т.д. Содержит модуль работы с электронной почтой и api-загрузчик отчетов о продажах маркетплейсов.

6000 5100 руб.

09.11.2016    234255    1062    898    

1003

Загрузка и выгрузка в Excel Маркетплейсы Программист Бухгалтер Пользователь Платформа 1С v8.3 Бухгалтерский учет 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Россия Бухгалтерский учет Управленческий учет Платные (руб)

Реальный помощник, с помощью которого Вы сделаете необходимые документы для Wildberries, OZON, ЯндексМаркет, Мегамаркет, Aliexpress, "Детский мир", МагнитЭкспресс (быв.Казань-Экспресс), "Леруа Мерлен", ЭНФАНТА (Акушерство), ЛаМода, Летуаль, "Твой дом", "Золотое Яблоко" в документы "Отчет комиссионера (агента) о продажах" и другие, работает в "Бухгалтерия 3", "Бухгалтерия 3 КОРП", УТ 11, УНФ, КА 2, ERP. Возможность подключить любые маркетплейсы. Анализ продаж ОЗОН. 30 дней БЕСПЛАТНОГО пользования!

2400 руб.

12.08.2021    35508    348    68    

155

SALE! 30%

Загрузка и выгрузка в Excel Документооборот и делопроизводство (СЭД) Учет документов Распознавание документов и образов Бухгалтер Пользователь Управляемые формы 1С:Комплексная автоматизация 1.х 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление производственным предприятием 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Управление холдингом 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Бухгалтерский учет Управленческий учет Платные (руб)

Универсальная программа для распознавания сканов или фото товарных документов в 1С. Не требует указания параметров и предварительной настройки. Просто выбираете файл (PDF, JPG, DOC, XLS, HTML) выбираете документ 1С и нажимаете кнопку "Распознать и загрузить".

8400 5880 руб.

04.06.2019    107026    313    173    

326

Загрузка и выгрузка в Excel Логистика, склад и ТМЦ Ценообразование, анализ цен Файловый обмен (TXT, XML, DBF), FTP Бухгалтер Пользователь Платформа 1С v8.3 1С:Бухгалтерия 2.0 1С:Управление торговлей 10 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Платные (руб)

Эволюция не стоит на месте - новая удобная версия функциональной обработки для Вашего бизнеса! Что же Вы получаете? Удобный и интуитивно понятный интерфейс с 3-мя этапами работы. 2 режима - автоматический и ручной. Чтение XLSX, XLSM, CSV, XML/YML форматов без офиса, на любом сервере! Визуальное связывание колонок файла и реквизитов простым перетаскиванием колонок. Создание или обновление номенклатуры с иерархией, характеристик, доп. реквизитов, упаковок, загрузка практически неограниченного количества картинок на одну номенклатуру (с возможностью загрузки в несколько потоков одновременно), с хранением в томах или в базе. Загрузка номенклатуры поставщиков или поиск по их данным номенклатуры. Загрузка доп. реквизитов в характеристики. Загрузка штрихкодов с генерацией новых. Создание элементов справочников и ПВХ "на лету" для выбранных реквизитов. (Обновление от 10.10.2024, версия 9.8 - 9.13)

15600 руб.

20.11.2015    156102    376    378    

513

Маркетплейсы Загрузка и выгрузка в Excel Программист Пользователь Платформа 1С v8.3 1С:Управление торговлей 10 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Розница 3.0 Управленческий учет Платные (руб)

Загрузка данных отчета о реализации и продаже товаров из сервиса Яндекс.Маркета «Беру» в 1С из Отчетов Excel для конфигурации: Бухгалтерия предприятия, редакция 3.0; Управление торговлей, редакция 11; Управление торговлей, редакция 10.3; Управление нашей фирмой, редакция 3.0 и Розница, редакция 3.0 в документ «Отчет комиссионера о продажах».

4800 руб.

09.12.2020    25352    252    1    

114

SALE! 15%

Загрузка и выгрузка в Excel Розничная торговля Логистика, склад и ТМЦ Ценообразование, анализ цен Прайсы Системный администратор Программист Платформа 1С v8.3 1С:Комплексная автоматизация 1.х 1С:Розница 2 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

Загрузка номенклатуры из файлов Excel (xls, xlsx, ods, csv, mxl) в УТ11, КА 2, ERP 2, Розница 2. Задействованы все возможности конфигурации - заполнение реквизитов номенклатуры, дополнительных реквизитов и сведений, характеристики, доп.реквизиты и сведения характеристик. Дополнительные обработки для расширения возможностей.

11100 9435 руб.

29.10.2014    216763    657    527    

456
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. vandalsvq 1587 07.09.24 13:51 Сейчас в теме
Судя по коду, автор очень старался - все сделано четко и красиво. Попробуем применить в деле выгрузки данных 600т. строк (примерно 30 колонок), посмотрим что получится ))))
2. amiralnar 9 05.10.24 13:16 Сейчас в теме
4. vandalsvq 1587 05.10.24 13:52 Сейчас в теме
(2) задуманное получилось, все работает более чем хорошо )))
5. ivshumelev 33 06.10.24 06:17 Сейчас в теме
(4) Классно что у вас все получилось! Если говорить про прямо большие экспорты, то у нас встречалась проблема когда запрос с выборкой падал по памяти. В этом случае мы ничего лучше не придумали, чем порционная выборка данных и реализовали ее в редакторе запросов, возможно вам тоже может пригодится. Там базовый запрос с минимальным набором полей помещается во временную таблицу, а запрос расшифровки скользит по нему с установленной порцией и дополняет остальными полями выборки.
7. vandalsvq 1587 07.10.24 15:07 Сейчас в теме
(5) Так можно же делать запись потоковую из выборки. Не выгружать сначала в табличный документ и сохранение в эксель. Мы решили примерно так

Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
// формирование записи в xml файл будущего файла Excel
КонецЦикла;


В данном случае получается что память по большому счету потребляется только на 1 строку выборки и ее запись в xml. Что в буквальном смысле копейки.
11. ivshumelev 33 08.10.24 06:10 Сейчас в теме
(7) Все верно говорите, "типовое" использование этой обработки, обход выборки с последующим выводом в потоки без каких либо промежуточных действий, табличных документов и прочего
9. vandalsvq 1587 07.10.24 15:12 Сейчас в теме
(5) прочитал ниже, как раз о потоковой записи в файл вы тоже писали. А на чем тогда памяти не хватило? Выборку сформировать?
10. ivshumelev 33 08.10.24 05:59 Сейчас в теме
(9) Да, сформировать выборку. Запрос из разряда "выбрать все, за все года"
13. vandalsvq 1587 08.10.24 09:33 Сейчас в теме
(10) при таком раскладе надо запускать выборку ограничено, последовательно, по годам, по другим ограничениям ))))
14. ivshumelev 33 09.10.24 05:58 Сейчас в теме
(13) Согласен, вот здесь мы и делаем через порционную выборку в редакторе запросов, чтобы для каждого экспорта не описывать ограничение по разрезам выборки (года, организации и прочее), а просто указать размер порции. Очень удобно получается
vandalsvq; +1 Ответить
3. amiralnar 9 05.10.24 13:16 Сейчас в теме
Впечатляет!
Смотрю в код. А формулы выводить умеет?
А изменить существующий файл и добавить в него строки?
6. ivshumelev 33 06.10.24 06:27 Сейчас в теме
(3) Вывод формул не делали, но если найдете применение для всего остального из обработки, думаю сможете спокойно добавить самостоятельно, по памяти, там просто было.
А вот изменить существующий файл этой обработкой не получится, скорее всего, даже если попытаться реализовать.
Здесь основная идея - это запись xml через файловые потоки для минимизации потребления оперативной памяти, так как xlsx, это же архив, и там 2-3 ГБ в легкую. Кстати, файловый поток можно заменить на поток в памяти в настройках при инициализации, если уверены что оперативной памяти хватит. Возможно будет быстрее, замеры конечно никто не делал)
8. vandalsvq 1587 07.10.24 15:08 Сейчас в теме
(6) нет нужды писать в память. в конечном итоге для упаковки в xlsx понадобится все равно в файлы записывать. так что и писать сразу в файл ))))
12. ivshumelev 33 08.10.24 06:20 Сейчас в теме
(8) До вашего сообщения, чисто субъективно, думал что будет быстрее - этож оперативная память))) Стало интересно сделать замеры, спасибо
Оставьте свое сообщение