Универсальная обработка для загрузки файлов Excel. Читает все страницы файла Excel. В файле Excel на каждом листе первая строка должна содержать названия колонок таблицы.
Параметры:
ПутьКФайлу - Строка - Полный путь к файлу Excel (.xls, .xlsx)
Возвращаемое значение:
СписокЗначений - Коллекция листов, где каждый элемент содержит:
- ИмяЛиста - Строка - Название листа
- Данные - ТаблицаЗначений - Данные листа (первая строка - заголовки)
Алгоритм работы:
1. Создает COM-объект Excel (в фоновом режиме)
2. Открывает указанную книгу
3. Для каждого листа:
- Читает данные через ПрочитатьЛистExcel()
- Преобразует в ТаблицуЗначений через ОбработатьДанныеExcel()
4. Закрывает книгу без сохранения
5. Возвращает структурированные данные
Пример использования:
Данные = ПрочитатьФайлExcel("C:\Отчеты\Налоги.xlsx");
Для Каждого Лист Из Данные Цикл
Сообщить("Лист: " + Лист.Значение.ИмяЛиста);
тзДанные = Лист.Значение.Данные; // ТаблицаЗначений
КонецЦикла;
Особенности:
- Работает через COM-объект Excel (требуется установленный MS Excel)
- Автоматически закрывает Excel даже в случае ошибки
- Не сохраняет изменения в исходном файле
- Преобразует данные в ТаблицуЗначений
Ограничения:
- Для больших файлов (>50MB) возможны проблемы с производительностью
- Требуются права на создание COM-объектов
- Не поддерживает паролированные файлы
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.175.24
- Управление торговлей, редакция 11, релизы 11.5.21.125
- 1С:Комплексная автоматизация 2, релизы 2.5.21.125