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

eXtend88 58 1 1 1

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

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

Комментарии

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

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


Похожие публикации

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

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

ТаблицаЗначенийВТаблицуХТМЛ

Чтение файла XML в объект XDTO

Сохранение таблицы значений в XML

Модератору