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

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

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

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

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

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

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

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

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

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

Наименование Файл Версия Размер
FromMXLtoValueTable
.epf 32,84Kb
21.02.12
368
.epf 32,84Kb 368 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Влад Кацманевич (cool.clo) 29.11.10 18:05 Сейчас в теме
:D Прошу не плюсить
Альтруист однако!
2. Сергей Ожерельев (Поручик) 3440 29.11.10 20:16 Сейчас в теме
3. Александр Астафьев (alexandr_astafiev) 64 04.12.10 11:31 Сейчас в теме
а как файл xls открывать непонятно однако
4. Яков Коган (Yashazz) 1940 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) 1940 12.12.10 17:13 Сейчас в теме
(5) Что будет, то и будет. Считывается из ячейки в любом случае текст, т.е. строка. И да, код надо будет подстроить. И куски самому компоновать, ага.
Ещё раз: это НЕ читалка из экселя, их тут и так навалом. Это подручный инструмент для mxl, который иногда применим для простых xls.
7. Mikhail (personazh) 07.01.11 00:40 Сейчас в теме
Спасибо, очень пригодилась.
Пришлось, правда, немного "доработать напильником" под свои нужды.
Очень удивился, получив из таблицы в 3500 строк, только 400 строк в ТЗ :)
Есть крайне неприятная "очепятка" в коде- на небольших таблицах этого не видно, но в результате данные ТД могут выгрузиться не полностью.
У тебя вместо размеров ТД (ШиринаТаблицы,ВысотаТаблицы) везде используются размеры ЭУ ПолеТабличногоДокумента (ширина, высота).
Исправь пожалуйста.
8. Яков Коган (Yashazz) 1940 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) 409 14.06.13 17:31 Сейчас в теме
Чем эта обработка лучше обработки с ИТС ЗагрузкаДанныхИзТабличногоДокумента?
12. Олег Хугаев (Kov495) 9 05.10.15 11:22 Сейчас в теме
А что за чтение файла многострадальное?
Нельзя было через Построитель прочитать?
Зря качал.
13. Яков Коган (Yashazz) 1940 05.10.15 21:06 Сейчас в теме
(11) Ну хотя бы тем, что она появилась на пару-тройку лет раньше. Остальное не знаю, не сравнивал.
(12) Если были вопросы или сомнения, можно было перечитать внимательно описание или сперва спросить меня.