Внешняя компонента, умеет сохранять таблицы в формате xlsx, html и PDF.
При загрузке перехватывает штатное интерактивное и программное сохранение в Excel, HTML и TXT. В диалоге выбора файла заменяет вариант выбора ".xls" на ".xlsx" и ".txt" на "PDF"
Компонента подключается так:
ПодключитьВнешнююКомпоненту("AddIn.Moxel.Converter");
Для добавления поддержки формата выгрузки в Excel 2007 и PDF этого достаточно.
Поддерживается сохранение рисунков, надписей и внедренных OLE объектов.
Белый фон картинок станет прозрачным при сохранении (как на первом скриншоте), если в свойствах узора картинки установить цвет "Авто".
Для выгрузки в html и PDF можно создать объект конвертера :
Таб = СоздатьОбъект("Таблица");
Таб.Вывести();
Конвертер = СоздатьОбъект("AddIn.Moxel.Converter");
Конвертер.Присоединить(Таб);
ИмяФайла = Конвертер.Записать("Тест.html", 2); //Запись в html
ИмяФайла = Конвертер.Записать("Тест.pdf", 3); //Запись в pdf
У объекта имеется метод для включения/отключения перехвата штатного сохранения:
Конвертер = СоздатьОбъект("AddIn.Moxel.Converter");
Если Конвертер.ПерехватитьЗапись(1) = 1 Тогда
Сообщить("Перехват записи включен");
Иначе
Сообщить("Перехват записи не включен");
КонецЕсли;
Если Конвертер.ПерехватитьЗапись(0) = 1 Тогда
Сообщить("Перехват записи выключен");
Иначе
Сообщить("Перехват записи не выключен");
КонецЕсли;
В архиве находится обработка с примерами.
Для работы требуется .Net 4.6.2
Для установки нужно распаковать архив на локальный диск, и запустить register.cmd с правами администратора. Два раза нажать Enter.
upd 08.04.2019 Новая версия
Добавлено чтение настроек страницы.
Теперь при сохранении в xlsx и PDF к документу применяются настройки страницы, установленные через "Файл-Параметры страницы" и Таблица.ПараметрыСтраницы().
Применяются:
Размер бумаги
поля слева/справа/сверху/снизу
Ориентация страницы
Для xlsx применяется масштаб и "вписать в страницу по ширине".
Добавлен перехват штатного сохранения в HTML
Теперь штатное сохранение таблицы в HTML перенаправляется в компоненту аналогично xlsx
upd 16.04.2019 Новая версия
Добавлены разрывы страниц при сохранении в Excel.
Для экономии памяти приложения 1С конвертация таблиц, занимающих больше 2 Мб вынесена во внешний процесс.
upd 24.05.2020 Новая версия
Если в ячейке есть символ переноса строки, то при экспорте в Excel устанавливается галка "Перенос по словам"
upd 21.06.2020 Новая версия
Исправлена ошибка GDI+ если в таблице есть объекты "Картинка".
Доработано отображение прогресса при длительных сохранениях
upd 23.06.2020 Новая версия
Доработано форматирование объединенных ячеек.
В варианты сохранения добавлен формат PDF вместо TXT
Для программного сохранения нужно вызвать:
Таб.Записать(ИмяФайла, 0);// - MOXEL
Таб.Записать(ИмяФайла, 1);// - XLSX
Таб.Записать(ИмяФайла, 2);// - HTML
Таб.Записать(ИмяФайла, 3);// - PDF
При интерактивном сохранении пункт "Текстовый файл" заменен на "PDF"
Обновлено описание.
upd 25.06.2020 новая версия
Форматирование в PDF доработано.
Исправлена ошибка с чтением параметров страницы.
Увеличилась скорость сохранения в Excel больших файлов.
upd 22.03.2022 Новая версия
Исправлены некоторые баги.
Улучшена скорость работы.
Уменьшено потребление памяти.
Уменьшено количество файлов в составе компоненты.
upd 26.06.2024 Новая версия
Исправлена ошибка сохранения в Excel повторяющихся областей.
Добавлено сохранение в Excel области печати
Небольшие оптимизации
upd 08.07.2024 Новая версия
Исправлена ошибка форматирования чисел при экспорте в Excel. Теперь и запятая и точка в качестве разделителя обрабатывается корректно.
Для работы требуется .Net Framework v4.6.2
Т.к. разработка судя по всему спросом не пользуется - исходники выложены на github.