1CLenta.ru  

Прочитать записать Excel файл через COM объект

Программирование системы     21.04.2016 09:07     22254

Для работы с Excel файлами в системе 1C существуют определенные технологии. Организовать взаимодействие системы 1C с внешней программой MS Excel можно через COM-объект "Excel.Application". Также есть возможность наладить взаимодействие с Excel из 1C используя технологию ADO.

Данный пример демонстрирует работу с использованием "Excel.Application". Для работоспособности данного примера на компьютере обязательно должно быть установлено программное обеспечение MS Excel.

Прочитать из существующего Excel Файла


Процедура ПрочитатьСуществующийExcelФайл(ПутьКФайлу)

Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки;

Книга = Excel.Workbooks.Open(ПутьКФайлу);
КоличествоЛистов = Книга.Sheets.Count;

//Перебор листов
Для НомерЛиста = 1 По КоличествоЛистов Цикл

Лист = Книга.Sheets(НомерЛиста);
КоличествоСтрок = Лист.Cells(1, 1).SpecialCells(11).Row;
КоличествоКолонок = Лист.Cells(1, 1).SpecialCells(11).Column;

//Перебор строк
Для НомерСтроки = 1 По КоличествоСтрок Цикл

//Перебор колонок
Для НомерКолонки = 1 По КоличествоКолонок Цикл
ЗначениеЯчейки = Лист.Cells(НомерСтроки, НомерКолонки).Value;
//Выполнение действий с полученным значением
//...
//...
КонецЦикла;

КонецЦикла;

КонецЦикла;

Excel.Workbooks.Close();
Excel.Application.Quit();

КонецПроцедуры

Записать в существующий Excel Файл


Процедура ЗаписатьСуществующийExcellФайл(ПутьКФайлу)

Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки;

Книга = Excel.Workbooks.Open(ПутьКФайлу);

Лист = Книга.Sheets(1);
//Установить значение в ячейку
Лист.Cells(1, 1).Value = "Тестовое значение";
Книга.Save();

Excel.Workbooks.Close();
Excel.Application.Quit();

КонецПроцедуры

Создать новый Excel Файл


Процедура СоздатьНовыйExcellФайл(ПутьКФайлу)

Попытка
Excel = Новый COMОбъект("Excel.Application");
Excel.DisplayAlerts = 0;
Excel.Visible = 0;
Исключение
Сообщить(ОписаниеОшибки() + " Программа Exсel не установлена");
Возврат;
КонецПопытки;

//Автоматически будут созданы три листа
Книга = Excel.WorkBooks.Add();
//Получить первый лист
Лист = Книга.Sheets(1);
//Установить значение в ячейку
Лист.Cells(1, 1).Value = "Тестовое значение";

Попытка
Книга.SaveAs(ПутьКФайлу);
Исключение
Сообщить(ОписаниеОшибки() + " не удалось сохранить файл");
КонецПопытки;

Excel.Workbooks.Close();
Excel.Application.Quit();

КонецПроцедуры

Комментарии (0)