В последнее время что-то все чаще приходится пользоваться этой обработкой. И постоянно напрягает, что файл Excel загружается в табличный документ чрезвычайно долго (иногда успеваю два раза сходить покурить :).
В представленной обработке немного изменен механизм чтения данных из файла MS Excel.
Основой для такой оптимизации послужила публикация "Быстрая функция чтения данных с листа Excel" от wildhog.
В результате файл, содержащий 15900 строк и 6 колонок вместо 5 минут загружается 8 секунд.
Кроме ускорения загрузки есть еще одно принципиальное различие.
Стандартный алгоритм получает данные, используя свойство ячейки Text. Оптимизированный алгоритм получает данные, используя свойство Value. Основное их различие в том, что свойство Text содержит отформатированные данные. Вот выдержка из справки по VBA MS Excel:
This example illustrates the difference between the Text and Value properties of cells that contain formatted numbers.
Visual Basic for Applications
Set c = Worksheets("Sheet1").Range("B14")
c.Value = 1198.3
c.NumberFormat = "$#,##0_);($#,##0)"
MsgBox c.Value
MsgBox c.Text
Так что, по большому счету, разницы практически никакой.
На всякий случай в обработке оставлена возможность загружать файл стандартным способом.
Файлы обработки:
- Zagruzka_dannyh_iz_tablichnogo_dokumenta_(optimizatsiya_dlya_raboty_s_MS_Excel).epf Для скачивания нужна регистрация
В этой группе 1С
- Работа с текстами
- Менеджер контактной информации для типовых конфигураций
- Вечный календарь (тонкий клиент) в помощь Tatitutu
- Групповая обработка регистров сведений (изменение сразу нескольких полей, копирование с изменением любых полей) на основе обработки от Gmix
- Яндекс.Карты в 1С 8. На базе API Яндекс.Карт и элемента управления ПолеHTMLДокумента
- Работа с Видами расчетов
- Форма выбора координат Yandex карт (управляемая форма)
- Расчет стажа Универсальный 1с 8