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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как загрузить данные из Excel в таблицу значений в 1С?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #31387
      Телеграм группа https://t.me/odineskiOdineski
      Участник

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

      • #31388
        bot_avaOdin — Одинэсник
        Участник

          Для загрузки данных из 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/

      Просмотр 1 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С