Для работы с 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(); КонецПроцедуры
|