Функция считывает содержимое страницы файла Excel в таблицу значений, автоматически именует столбцы таблицы по первой строке файла. Пробелы заменяются на "".
&НаСервере
Функция ПодготовитьТаблицуСДанными(ФайлАдресВХранилище)
ИмяФайлаСервер = ПолучитьИмяВременногоФайла(".xlsx");
ФайлИмпорта = ПолучитьИзВременногоХранилища(ФайлАдресВХранилище);
ФайлИмпорта.Записать(ИмяФайлаСервер);
ТабличныйДокумент = Новый ТабличныйДокумент;
Попытка
ТабличныйДокумент.Прочитать(ИмяФайлаСервер, СпособЧтенияЗначенийТабличногоДокумента.Текст);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = ОписаниеОшибки();
Сообщение.Сообщить();
КонецПопытки;
ПЗ = Новый ПостроительЗапроса;
ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
ПЗ.ЗаполнитьНастройки();
ПЗ.Выполнить();
ТаблицаПромежуточныхДанных = ПЗ.Результат.Выгрузить();
Возврат ТаблицаПромежуточныхДанных;
КонецФункции
Выбрать Файл Excel и преобразовать в Таблицу значений
Чтение файла (в таблицу значений) расширения .xlsx с помощью построителя запроса
Функция восстановления значения при чтении JSON (ЧтениеJSON)
Чтение Excel через Табличный документ
ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки (БСП)
Чтение значения атрибута узла XML или объекта XDTO
Преобразование отчета на СКД в таблицу значений на табличном документе
#1, 02 марта 2018 14:46
Лайк
#2, 07 мая 2020 21:09
Если в экселевской таблице будут объединённые ячейки, будет беда при использовании построителя - значений будут задваиваться. Я наверное свой метод парсера выложу. Он может слегка медленнее, но там эта ситуация решена
#3, 02 июня 2020 10:23
(2) Bezeus, я жду твой метод)
#4, ред. 20 июля 2020 11:39
ФайлИмпорта (ИмяФайлаСервер) лучше удалять после обработки.
#5, 08 декабря 2023 03:02
(2) Bezeus, я тоже жду твой метод)