-
-
Save oremb/15b885e2839f2ae8784256f0456b1f88 to your computer and use it in GitHub Desktop.
Прочитать лист Excel в таблицу значений #1C #Excel #ТаблицаЗначений
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// Считывает лист Excel в таблицу значений для дальнейшей обработки | |
// | |
// Параметры: | |
// Адрес - путь к файлу | |
// НомерЛиста - номер листа Excel по порядку (по умолчанию 1) | |
// НомерПервойСтроки - строка, с которой необходимо начать считывание (по умолчанию 1) | |
// НомерПервойКолонки - колонка, с которой необходимо начать считывание (по умолчанию 1) | |
// ВсегоСтрок - последняя строка диапазона (по умолчанию последняя строка с данными) | |
// ВсегоКолонок - последняя колонка диапазона (по умолчанию последняя колонка с данными) | |
// | |
// Возвращаемое значение: | |
// Таблица значений с загруженными значениями из Excel | |
// | |
Функция ПрочитатьЛистExcel(Адрес, НомерЛиста = 1, НомерПервойСтроки = 1, НомерПервойКолонки = 1, ВсегоСтрок = 0, ВсегоКолонок = 0) Экспорт | |
ExcelApplication = Новый COMObject("Excel.Application"); | |
ФайлЭксель = ExcelApplication.WorkBooks.Open(Адрес); | |
ЛистЭксель = ФайлЭксель.Sheets(НомерЛиста); | |
Если ВсегоСтрок = 0 Тогда | |
ВсегоСтрок = ЛистЭксель.Cells.SpecialCells(11).Row; | |
КонецЕсли; | |
Если ВсегоКолонок = 0 Тогда | |
ВсегоКолонок = ЛистЭксель.Cells.SpecialCells(11).Column; | |
КонецЕсли; | |
Если ТЗ = Неопределено Тогда | |
ТЗ = Новый ТаблицаЗначений; | |
Для Счетчик = 1 По ВсегоКолонок Цикл | |
ТЗ.Колонки.Добавить("Колонка"+Счетчик, Новый ОписаниеТипов("Строка")); | |
КонецЦикла; | |
КонецЕсли; | |
Для Счетчик = НомерПервойСтроки По ВсегоСтрок Цикл | |
НоваяСтрока = ТЗ.Добавить(); | |
КонецЦикла; | |
Область = ЛистЭксель.Range(ЛистЭксель.Cells(НомерПервойСтроки,НомерПервойКолонки), ЛистЭксель.Cells(ВсегоСтрок,ВсегоКолонок)); | |
Данные = Область.Value.Выгрузить(); | |
Для Счетчик = 0 По ВсегоКолонок-1 Цикл | |
ТЗ.ЗагрузитьКолонку(Данные[Счетчик], Счетчик); | |
КонецЦикла; | |
ExcelApplication.DisplayAlerts = 0; | |
ExcelApplication.Quit(); | |
ExcelApplication = Неопределено; | |
Возврат ТЗ; | |
КонецФункции |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment