Как и большинство программистов 1С я часто сталкивался с необходимостью загрузки электронных таблиц в 1С. Была освоена и объектная модель Excel и технология ADO. Но каждый раз при написании обработок загрузки мне очень не хотелось в очередной раз использовать конструкции типа "Книга = Эксель.Workbooks.Open(...)", "ConnectionString="Provider=Microsoft..." и пр. Хотелось работать в виде последовательности "Открыл файл" - "Выбрал лист" - "Загрузил в таблицу 1С" - "Работаю с внутренней таблицей встроенными методами 1С как с исходным документом".
Также хотелось иметь инструмент для максимально подробного просмотра файлов Excel в 1С с полным оформлением (цвета заливки, текста, рамки, объединения и пр.).
Была разработана ВК для "1С:Предприятие 8", которая по сути работает по вышеуказанному принципу. Методы ВК:
ОткрытьТабличныйФайл(ИмяФайла) - открывает файл электронной таблицы Excel.
ПолучитьСписокЛистов() - возвращает в случае удачного завершения список значений с именами рабочих листов таблицы.
ЗагрузитьЛист(ТабличныйДокумент,ИмяЛиста) - загружает лист с именем "ИмяЛиста" в табличный документ полностью. Загружаются значения типа Число, Дата, Булево, Строка, а также сохраняется все оформление (рамки, шрифт, цвета заливки и текста, объединения, ширина столбцов и высота строк).
ЗагрузитьОбластьЛиста(ТабличныйДокумент,ИмяЛиста,[Строка1],
[Столбец1],[Строка2],[Столбец2]) - загружает прямоугольную область листа в соответствующую область табличного документа. Сохраняется все оформление области.
Ограничения:
- Читаются только файлы формата OpenXML (xlsx, xlsm).
- Файл не должен быть защищен паролем.
- Не читаются картинки, сводные таблицы, диаграммы. Только рабочие листы с данными.
Скачиваемый архив содержит:
внешнюю компоненту PTLoad.DLL, документацию по методам и свойствам, обработки для 8.1 и 8.2, демонстрирующие просмотр всех листов файла Excel.