Выгрузка несколько табличных документов из 1C в один файл Excel
Здравствуйте!
Просьба помочь с выгрузкой из 1С в Excel.
Проблема такова: есть форма отчета, которая содержит несколько страниц. В каждой странице есть свои ПолеТабличногоДокумента. При выгрузке в Excel надо, чтобы данные страницы сохранились в один файл.
Что сделано: сделана выгрузка в один файл с именем страниц вместо листов в Excel.
Теперь надо чтобы данные с ПолеТабличногоДокумента грузились в данные листы. Заполнять каждую ячейку
Лист.Cells(1, 1).Value таким образом невозможно, т.к. таблицы огромные и объемные.
Есть ли функция которая перекидывает весь ТабДок в Лист Excel?
Заранее спасибо за помощь!
Просьба помочь с выгрузкой из 1С в Excel.
Проблема такова: есть форма отчета, которая содержит несколько страниц. В каждой странице есть свои ПолеТабличногоДокумента. При выгрузке в Excel надо, чтобы данные страницы сохранились в один файл.
Что сделано: сделана выгрузка в один файл с именем страниц вместо листов в Excel.
Теперь надо чтобы данные с ПолеТабличногоДокумента грузились в данные листы. Заполнять каждую ячейку
Лист.Cells(1, 1).Value таким образом невозможно, т.к. таблицы огромные и объемные.
Есть ли функция которая перекидывает весь ТабДок в Лист Excel?
Заранее спасибо за помощь!
По теме из базы знаний
- Импорт из EXCEL и других источников (xls, xlsx, xlsb, ods, sxc, dbf, mxl, csv, clipboard, sql) в 1С
- Загрузка данных из табличного документа в справочники, документы, планы видов характеристик, планы видов расчетов, планы счетов, бизнес-процессы, задачи, в движения документов, поточная загрузка документов (EXCEL, управляемые формы, универсальная)
- Выгрузка в несколько листов/файлов Excel в УФ
- Запись одной книги Excel на нескольких листах средствами 1С (без внешних компонент)
- Фреймворк "Простые задачи" - разработка интерактивных инструментов загрузки и обработки табличных данных
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Если есть общий табличный документ, то что мешает его записать записать в формате excel?
или нужно, чтобы каждая страница из формы отчета на отдельной странице в общем excel была?
или нужно, чтобы каждая страница из формы отчета на отдельной странице в общем excel была?
(4) делал как-то такую штуку для отчетов, отправляемых контрагенту. Типа описывался пакет отчетов, потом они формировались, сохранялись в xls(x). Дальше алгоритм такой: создается новый объект через СОМ для экселя, в него добавляется страница, именуется, в нее вставляется файл.
Как вариант можно попробовать следующее
каждый табДок сохранить средствами 1с в файл excel
Далее создать общий Excel и командами копировать из одно файла в другой в нужные страницы
по макросу выходит так
Cells.Select
Range("B18").Activate
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
(5) - опередил
каждый табДок сохранить средствами 1с в файл excel
Далее создать общий Excel и командами копировать из одно файла в другой в нужные страницы
по макросу выходит так
Cells.Select
Range("B18").Activate
Selection.Copy
Sheets.Add After:=ActiveSheet
ActiveSheet.Paste
(5) - опередил
(7) Проблема решилась именно таким образом. Создание временных файлов и в дальнейшем копирование в один эксель.
Пример кода прилагаю, может кому поможет:
Пример кода прилагаю, может кому поможет:
Попытка
// Загрузка объекта Microsoft Excel
Состояние("Выгрузка данных из 1С в Microsoft Excel...");
ExcelПриложение = Новый COMОбъект("Excel.Application");
ExcelПриложение2 = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Ошибка при запуске Microsoft Excel."
+ Символы.ПС + ОписаниеОшибки(), СтатусСообщения.Внимание);
Возврат;
КонецПопытки;
WorkBook = ExcelПриложение.WorkBooks.Add();
Для каждого Элемент из ЭтаФорма.ЭлементыФормы цикл
Если Тип(Элемент) =Тип("ПолеТабличногоДокумента") тогда
ТДок = Элемент;
Первый = Истина; // у нас уже есть один лист, надо использовать его
ПрошлыйЛист = Неопределено;
ВрФайл = ПолучитьИмяВременногоФайла("xls");
Элемент.Записать(ВрФайл, ТипФайлаТабличногоДокумента.XLS);
Книга = WorkBook.Worksheets.Add();
Книга.Application.Sheets(1).Name = Элемент.Имя;
мКнига = ExcelПриложение2.Workbooks.Open(ВрФайл);
мКнига.Application.Sheets(1).Cells.Select();
ExcelПриложение2.Selection.Copy();
Если Первый Тогда // Используем созданный автоматически
НовыйЛист = Книга.Application.Sheets(1);
ExcelПриложение.DisplayAlerts = 0;
Попытка
НовыйЛист.Paste();
Исключение
КонецПопытки;
ExcelПриложение.DisplayAlerts = 1;
Первый = Ложь;
Иначе // добавляем новый
НовыйЛист = Книга.Application.Sheets.Add(, ПрошлыйЛист); // Добавляем новый лист после прошлого
КонецЕсли;
ExcelПриложение2.DisplayAlerts = 0;
мКнига = ExcelПриложение2.Workbooks.Close();
ExcelПриложение2.DisplayAlerts = 1;
КонецЕсли;
КонецЦикла;
ExcelПриложение.Quit();
Показать
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот
