Шаблон для загрузки файлов Exсel








Часто требуется загрузить эксельки по произвольному алгоритму, обычно очень простому, иногда сложному. Каждый раз перед написанием обработки ищешь свою предыдущую разработку, сделанную на коленке, переделываешь ее, в конце концов создаешь множество однотипных бесполезных обработок. Это попытка создать удобный универсальный шаблон, который можно быстро использовать. Идея в том, чтобы было быстро и удобно обращаться в коде к данным файла, поэтому используется не нумерация колонок, а обращение происходит по ее наименованию. Такой код удобней писать и читать.

Требования:

— Управляемые формы

— Платформа не ниже 8.3.6

— Подготовить файл Exсel под требования обработки

 

Файл:

— Расширение xls/xlsx/ods

— Загружаемые данные находятся на первом листе

— Наименование колонок в первой строке 

— Наименования колонок не должны начинаться с цифры и содержать символы.

Примечание: Символы автоматически очищаются (например, "Цена(Стоимость)" -> "ЦенаСтоимость", "Наименование Производителя" -> "НаименованиеПроизводителя" и тд). Если наименование отсутствует, то колонке присваивается порядковое наименование "N1", которое соответствует номеру столбца.

 

Для чтения файла обработка использует стандартный метод табличного документа — "Прочитать". Поэтому рекомендуется использовать более свежие редакции платформ. Загрузка происходит в транзакции.

 

Использование:

— для разовой быстрой загрузки, в консоли кода можно быстро описать алгоритм

— для создания отдельно обработки, в модуле формы выделена специальная процедура

— (только в расширенной версии) использовать как универсальную обработку для загрузки по сохраненным шаблонам

 

Описание расширенной версии:

— добавлена возможность использовать параметры в консоли кода

 

— добавлена возможность сохранять текст консоли и параметры в файлы с расширением *.exelto1c. Данные хранятся в JSON. При открытии обработка запоминает папку настроек и автоматических их считывает. Переход по настройкам осуществляется с помощью двойного клика. 

 

5 Comments

  1. VmvLer

    тут

    https://its.1c.ru/db/metod8dev/content/3679/hdoc

    проверенный временем костыль, который позволяет при загрузке из эксель творить чудеса разной степени.

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

    Reply
  2. anvolkov1cbit

    Exel… У меня у одного режет глаза? Ну отдаете в массы, так проверьте правильность написания. И зачем задавать свое псевдорасширение, если в файле обычный json?

    Reply
  3. trntv

    (2) Опечатки исправил. Свое псевдорасширение для того, чтобы обработка не пыталась использовать чужие файлы и не выдавала ошибки.

    Reply
  4. PLAstic

    (1) Я бы сказал ещё радикальнее:

    https://its.1c.ru/db/bsp302doc#content:1867:1

    https://its.1c.ru/db/bsp302doc#content:33:hdoc

    Но автор молодец.

    Reply
  5. Infector

    Разработок на тему сражений с Ecxel масса. Прорекламирую свою 🙂

    https://infostart.ru/public/179779/

    Кстати, часто стоит обрабатывать или нет прочитанное в цикле, это вопрос открытый. Часто требуется подбор ссылок по кодам или наименованиям, а такие вещи лучше работают, если в МВТ запроса загнать прочитанный файл.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *