Рассмотрим чтение файла Excel в 1С на примере следующей задачи:
Есть внешняя обработка, на форме которой расположена таблица для отображения информации о товарах:
Есть внешняя обработка, на форме которой расположена таблица для отображения информации о товарах:
По кнопке "Прочитать Excel" нужно дать возможность пользователю выбрать файл Excel, после чего заполнить таблицу на форме данными из файла:
Ниже приведен программный код, решающий эту задачу:
&НаКлиенте
Асинх Процедура ПрочитатьExcel(Команда)
ПараметрыДиалога = Новый ПараметрыДиалогаПомещенияФайлов;
ПараметрыДиалога.Заголовок = "Выберите файл";
ПараметрыДиалога.Фильтр = "Таблица Excel | *.xls; *.xlsx";
ОписаниеФайла = Ждать ПоместитьФайлНаСерверАсинх(,,,ПараметрыДиалога);
Если ОписаниеФайла <> Неопределено Тогда
ПрочитатьExcelВТаблицуЗначений(ОписаниеФайла.Адрес, ОписаниеФайла.СсылкаНаФайл.Расширение);
КонецЕсли;
ПоказатьОповещениеПользователя("Обработка файла завершена!");
КонецПроцедуры
&НаСервере
Процедура ПрочитатьExcelВТаблицуЗначений(АдресДанных, РасширениеФайла)
ПутьКфайлу = ПолучитьИмяВременногоФайла(РасширениеФайла);
Данные = ПолучитьИзВременногоХранилища(АдресДанных);
Данные.Записать(ПутьКфайлу);
ТабДок = Новый ТабличныйДокумент;
Попытка
// чтение данных из файла в табличный документ
ТабДок.Прочитать(ПутьКфайлу);
Исключение
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не удалось прочитать файл, по причине: " + ОписаниеОшибки();
Сообщение.Сообщить();
Возврат;
КонецПопытки;
// построение запроса к области ячеек табличного документа
// с помощью объекта встроенного языка ПостроительЗапроса
Построитель = Новый ПостроительЗапроса;
Построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТабДок.Область());
Построитель.ЗаполнитьНастройки();
// выполнение запроса (результат записывается в свойство "Результат")
Построитель.Выполнить();
// выгрузка результата построителя запроса в таблицу значений
ТаблицаИзExcel = Построитель.Результат.Выгрузить();
// загрузка данных в таблицу на форме
ТаблицаТоваров.Загрузить(ТаблицаИзExcel);
КонецПроцедуры // ПрочитатьExcelВТаблицуЗначений()
Ссылки для скачивания:
Хочешь научиться работать с файлами разных форматов (TXT, CSV, XML, DBF, JSON) в 1С?
Тогда, возможно, тебе пригодится наш обновленный курс по работе с файлами в 1С. Подробнее.
Тогда, возможно, тебе пригодится наш обновленный курс по работе с файлами в 1С. Подробнее.