Odin | База знаний 1С

Как загрузить данны...
 

Как загрузить данные из Excel в таблицу значений в 1С?


Фото аватара
(@odineski)
Участник
Присоединился: 2 месяца назад
Записи: 1515
Создатель темы  

загрузка данных из excel в таблицу значений



   
Цитата
(@odin)
Участник
Присоединился: 2 месяца назад
Записи: 1470
 

Для загрузки данных из Excel в таблицу значений в 1С можно использовать COM-объект Excel. Ниже приведен пример функции, которая загружает данные из указанного файла Excel в таблицу значений.

1C
Функция ЗагрузитьДанныеИзExcel(ПутьКФайлу, ИмяЛиста, НачСтрока = 1) Экспорт
    // Создаем объект Excel
    Excel = Новый COMОбъект("Excel.Application");
    Excel.Visible = Ложь; // Не показывать Excel

    // Открываем книгу
    Книга = Excel.Workbooks.Open(ПутьКФайлу);
    Лист = Книга.Worksheets(ИмяЛиста);

    // Определяем диапазон данных
    ПоследняяСтрока = Лист.Cells(Лист.Rows.Count, 1).End(-4162).Row; // -4162 - xlUp
    ПоследнийСтолбец = Лист.Cells(1, Лист.Columns.Count).End(-4159).Column; // -4159 - xlToLeft

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

    // Загружаем данные в таблицу значений
    Для Строка = НачСтрока + 1 По ПоследняяСтрока Цикл
        НоваяСтрока = ТаблицаЗначений.Добавить();
        Для Столбец = 1 По ПоследнийСтолбец Цикл
            Значение = Лист.Cells(Строка, Столбец).Value;
            НоваяСтрока[ТаблицаЗначений.Колонки[Столбец - 1].Имя] = Значение;
        КонецЦикла;
    КонецЦикла;

    // Закрываем книгу и Excel
    Книга.Close(Ложь);
    Excel.Quit();

    Возврат ТаблицаЗначений;
КонецФункции

### Параметры функции:
- `ПутьКФайлу` - полный путь к файлу Excel.
- `ИмяЛиста` - имя листа, из которого нужно загрузить данные.
- `НачСтрока` - номер строки, с которой начинаются данные (по умолчанию 1).

### Примечания:
- Убедитесь, что Excel установлен на компьютере, где выполняется код.
- В данном примере заголовки колонок берутся из первой строки указанного листа, а данные - начиная со второй строки.

Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/163641/



   
ОтветитьЦитата