HelpF.pro

Создание документа Excel по имеющемуся шаблону, оформлению.

Код 1C v 8.х
 Попытка
// Создать объект.
Excel = Новый COMОбъект("Excel.Application");
Исключение
Сообщить("Не удалось инициализировать Excel");
Возврат;
КонецПопытки;

Попытка
// Если при отработке следующего фрагмента кода произойдет ошибка
// объект "Excel.Application" будет закрыт.

// Открыть книгу, содержащую шаблон оформления.
Excel.Workbooks.Open("c:\doc.xls");

НомерКниги = Excel.Workbooks.Count;
Книга = Excel.Workbooks.Item(НомерКниги);
Лист = Excel.ActiveSheet;

// Создать новую книгу (в нее будем записывать данные).
Excel.Application.Workbooks.Add(1);

НомерКниги = Excel.Workbooks.Count;
КнигаНовая = Excel.Workbooks.Item(НомерКниги);
ЛистНовый = Excel.ActiveSheet;

// Установить ширину колонки в новой книге.
ЛистНовый.Columns("B").ColumnWidth = 40;

// Копировать область из книги-шаблона в новую книгу.
Лист.Range("Шапка").Copy(ЛистНовый.Range("A1:E3"));
ЛистНовый.Cells(1, 1).Value = "Наименование контрагента";

// Считаем, что в нашем случае необходимо сформировать только

// две строки табличной части
Для НомерСтроки = 1 По 2 Цикл
Лист.Range("Строка").Copy(ЛистНовый.Range(ЛистНовый.Cells(3 + НомерСтроки,1), ЛистНовый.Cells(3 + НомерСтроки, 5)));

// Записать значение в ячейку листа новой таблицы
// в реальном примере данные будут браться из информационной базы
ЛистНовый.Cells(3 + НомерСтроки, 1).Value = НомерСтроки;
ЛистНовый.Cells(3 + НомерСтроки, 2).Value = "Наименование номенклатурной позиции " + Строка(НомерСтроки);
ЛистНовый.Cells(3 + НомерСтроки, 3).Value = НомерСтроки;
ЛистНовый.Cells(3 + НомерСтроки, 4).Value = НомерСтроки;
ЛистНовый.Cells(3 + НомерСтроки, 5).Value = НомерСтроки;
КонецЦикла;

Excel.Visible = Истина;

Исключение
Сообщить(ОписаниеОшибки());
Excel.Quit();
КонецПопытки;

Опубликовано на сайте: https://HelpF.pro
Прямая ссылка: https://HelpF.pro/faq8/view/707.html