Формирование ЭКсель файла.
☑
0
antihacker
23.10.18
✎
06:12
Всем привет ! задача такая. Нужно создать эксель файл и добавить туда несколько листов. И на каждый лист копировать на каждый лист по отдельности вновь созданный табличный документ. Это возможно ?
1
shadow_sw
23.10.18
✎
06:21
можно
2
shadow_sw
23.10.18
✎
06:22
создай кучу эксель файлов, собери их в один
3
antihacker
23.10.18
✎
06:29
Да файлов создавать могу. А как собрать в один файл ? Вот не могу найти ответ.....
4
shadow_sw
23.10.18
✎
06:38
Файл = Новый COMОбъект("Excel.Application");
ФСО = Новый COMОбъект("Scripting.FileSystemObject");
ПутьКниги ="c:\temp\"+"123.xls";
СписокФайлов = Новый ТаблицаЗначений;
СписокФайлов.Колонки.Добавить("Путь");
НС = СписокФайлов.Добавить();
НС.Путь ="c:\temp\" +"1.xls";
НС = СписокФайлов.Добавить();
НС.Путь ="c:\temp\"+"2.xls";
НС = СписокФайлов.Добавить();
НС.Путь ="c:\temp\"+"3.xls";
Файл.Visible = 0;
Файл.DisplayAlerts = 0;
Попытка
Книга = Файл.Workbooks.Open(ПутьКниги);
Исключение
Книга = Файл.Workbooks.Add();
Книга.SaveAs(ПутьКниги);
КонецПопытки;
Для Каждого ФайлЛиста Из СписокФайлов Цикл
НовоеИмяЛиста = ФСО.GetBaseName(ФайлЛиста.Путь);
Попытка
Лист = Файл.Workbooks.Open(ФайлЛиста.Путь);
Исключение
Продолжить;
КонецПопытки;
Если ФайлЛиста.Путь ="c:\temp\"+"1.xls" Тогда
Лист.Worksheets(1).Name = "1";
Лист.Worksheets(1).Copy(Книга.Worksheets(1));
Лист.Close(0);
КонецЕсли;
Если ФайлЛиста.Путь ="c:\temp\"+"2.xls" Тогда
Лист.Worksheets(1).Name = "2";
Лист.Worksheets(1).Copy(Книга.Worksheets(1));
Лист.Close(0);
КонецЕсли;
Если ФайлЛиста.Путь ="c:\temp\"+"3.xls" Тогда
Лист.Worksheets(1).Name = "3";
Лист.Worksheets(1).Copy(Книга.Worksheets(1));
Лист.Close(0);
КонецЕсли;
Книга.Save();
КонецЦикла;
Книга.Save();
Книга.Close(-1);
Файл = 0;
Пользователь не знает, чего он хочет, пока не увидит то, что он получил. Эдвард Йодан