Чтение файлов Excel в таблицу значений (автоматическое наименование столбцов)

eXtend88 80 1 1 1

Функция считывает содержимое страницы файла Excel в таблицу значений, автоматически именует столбцы таблицы по первой строке файла. Пробелы заменяются на "".

&НаСервере
Функция ПодготовитьТаблицуСДанными(ФайлАдресВХранилище)
	
	ИмяФайлаСервер = ПолучитьИмяВременногоФайла(".xlsx");
	ФайлИмпорта = ПолучитьИзВременногоХранилища(ФайлАдресВХранилище);
	ФайлИмпорта.Записать(ИмяФайлаСервер);
	
	ТабличныйДокумент = Новый ТабличныйДокумент;
	Попытка
		ТабличныйДокумент.Прочитать(ИмяФайлаСервер, СпособЧтенияЗначенийТабличногоДокумента.Текст);
	Исключение
		Сообщение = Новый СообщениеПользователю;
		Сообщение.Текст = ОписаниеОшибки();
		Сообщение.Сообщить();
	КонецПопытки;	
	
	ПЗ = Новый ПостроительЗапроса;
	ПЗ.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабличныйДокумент.Область());
	ПЗ.ДобавлениеПредставлений = ТипДобавленияПредставлений.НеДобавлять;
	ПЗ.ЗаполнитьНастройки();
	ПЗ.Выполнить();
	
	ТаблицаПромежуточныхДанных = ПЗ.Результат.Выгрузить();
	
	Возврат	ТаблицаПромежуточныхДанных;
	
КонецФункции
5

Комментарии

Franchiser
#1, 02 марта 2018 14:46

Лайк


Bezeus
#2, 07 мая 2020 21:09

Если в экселевской таблице будут объединённые ячейки, будет беда при использовании построителя - значений будут задваиваться. Я наверное свой метод парсера выложу. Он может слегка медленнее, но там эта ситуация решена


Константин Аванесов
#3, 02 июня 2020 10:23

(2) Bezeus, я жду твой метод)


konstantin
#4, ред. 20 июля 2020 11:39

ФайлИмпорта (ИмяФайлаСервер) лучше удалять после обработки.


Vyksa
#5, 08 декабря 2023 03:02

(2) Bezeus, я тоже жду твой метод)


См. также

Выбрать Файл Excel и преобразовать в Таблицу значений

Чтение файла (в таблицу значений) расширения .xlsx с помощью построителя запроса

Чтение XML в таблицу значений

Функция восстановления значения при чтении JSON (ЧтениеJSON)

Чтение Excel через Табличный документ

ПреобразоватьСтрокуВДопустимоеНаименованиеКолонки (БСП)

Чтение значения атрибута узла XML или объекта XDTO

mxl в таблицу значений

Преобразование отчета на СКД в таблицу значений на табличном документе

Модератору