Быстро прочесть из mxl/xls в таблицу значений и обработать её...

Опубликовал Яков Коган (Yashazz) в раздел Программирование - Инструментарий

Открываем из файла или вставляем из буфера табличный документ, прописываем считывание для каждого нужного поля, получаем таблицу значений. Сохраняем её или обрабатываем произвольным алгоритмом. UPD: в отдельную форму можно складировать полезные функции и процедуры, нужные в коде обработки.

Позволяет прочитать данные из таблицы, распознать и сопоставить их с данными базы по произвольным правилам, сохранить таблицу значений во временный файл, выполнить над таблицей значений произвольный алгоритм. Считывание ведётся из табличного документа, открытого или скопированного в соответствующую интерфейсную таблицу обработки, считываются тексты или расшифровки ячеек. Копировать, в принципе, можно и из Excel.

Применимо только для относительно простых таблиц (чтение из прямоугольных областей). Задействованы только средства 1С.

Написал сегодня утром для себя, одну частную задачку решал. А потом e.kogan заявила, что это можно и выложить, поэтому выкладываю. Простой, быстрый, незатейливый способ, эдакий подручный инструмент, но никак не полноценный блок. Картинки выложу чуть погодя.

Можно использовать при серверном вызове, нужные процедуры заэкспортированы и под сервер заточены.

Инструмент НЕ для пользователя, а для программиста. В нём надо писать код! Есть краткая справка, но почти нет защиты от дурака.

Прошу не плюсить, т.к. подобного тут и без меня выложено, и гораздо более навороченного, но, надеюсь, кому-нибудь и этот пригодится.

По заявке супруги доделал для УФ тонкого клиента, тоже пусть тут лежит. Заодно скриншоты добавил.

Скачать файлы

Наименование Файл Версия Размер
FromMXLtoValueTable
.epf 32,84Kb
29.05.17
368
.epf 32,84Kb 368 Скачать
Версия с управляемой формой под тонкий клиент
.epf 13,69Kb
29.05.17
0
.epf 13,69Kb Скачать

См. также

Комментарии
1. Влад Кацманевич (cool.clo) 29.11.10 18:05 Сейчас в теме
:D Прошу не плюсить
Альтруист однако!
2. Сергей Ожерельев (Поручик) 3541 29.11.10 20:16 Сейчас в теме
3. Александр Астафьев (alexandr_astafiev) 66 04.12.10 11:31 Сейчас в теме
а как файл xls открывать непонятно однако
4. Яков Коган (Yashazz) 2046 11.12.10 12:02 Сейчас в теме
(3) А просто открыть файл в Excel'e и оттуда скопировать нужный фрагмент и вставить в табличный документ на первой закладке обработки. Иначе - никак, это не читалка из экселя.
5. Alex A (daddy-don) 12.12.10 14:17 Сейчас в теме
(4) ну это вы хватанули :)
А если типы данных не совпадут, то что у меня в ТЗ будет - вместо число - строка? Или вместо Дата - число?
Т.е. надо подстраивать код чтения с ТД в ТЗ - каждый раз под каждый лист Ексель?
А если данные кусками, и что "не выделилось"? Или выделилось столько, что не влезет в ТД от 1С (там, по-моему, отнюдь не 65536 строк, а не 10 000 ли можно всего вбить)?
А что помешало реализовать хотя бы выбор колонок/типов данных в них из исходного файла Ексель, раз уж надо быстро прочесть в ТЗ - если листы с разными данными, где же тут быстрота??
6. Яков Коган (Yashazz) 2046 12.12.10 17:13 Сейчас в теме
(5) Что будет, то и будет. Считывается из ячейки в любом случае текст, т.е. строка. И да, код надо будет подстроить. И куски самому компоновать, ага.
Ещё раз: это НЕ читалка из экселя, их тут и так навалом. Это подручный инструмент для mxl, который иногда применим для простых xls.
7. Mikhail (personazh) 07.01.11 00:40 Сейчас в теме
Спасибо, очень пригодилась.
Пришлось, правда, немного "доработать напильником" под свои нужды.
Очень удивился, получив из таблицы в 3500 строк, только 400 строк в ТЗ :)
Есть крайне неприятная "очепятка" в коде- на небольших таблицах этого не видно, но в результате данные ТД могут выгрузиться не полностью.
У тебя вместо размеров ТД (ШиринаТаблицы,ВысотаТаблицы) везде используются размеры ЭУ ПолеТабличногоДокумента (ширина, высота).
Исправь пожалуйста.
8. Яков Коган (Yashazz) 2046 07.01.11 15:12 Сейчас в теме
(7) Упс, это я не учёл. Спасибо, перезалил исправленное.
9. SergB A (SergBA) 24.10.12 13:30 Сейчас в теме
10. Сергей Шепелев (redgoll) 22.02.13 08:33 Сейчас в теме
Спасибо. Возможно, мне это пригодится для сверки остатков по УТ И БП.
11. V. L. (Vladal) 410 14.06.13 17:31 Сейчас в теме
Чем эта обработка лучше обработки с ИТС ЗагрузкаДанныхИзТабличногоДокумента?
12. Олег Хугаев (Kov495) 9 05.10.15 11:22 Сейчас в теме
А что за чтение файла многострадальное?
Нельзя было через Построитель прочитать?
Зря качал.
13. Яков Коган (Yashazz) 2046 05.10.15 21:06 Сейчас в теме
(11) Ну хотя бы тем, что она появилась на пару-тройку лет раньше. Остальное не знаю, не сравнивал.
(12) Если были вопросы или сомнения, можно было перечитать внимательно описание или сперва спросить меня.
14. Anton Klesh (grinder) 22.05.17 17:42 Сейчас в теме
В описании ничего про построитель не сказано, знач нету)))))) быстро, умно, хитро))))
Оставьте свое сообщение