[MXLtoXLS] Сохранение больших таблиц в EXCEL

29.12.09

Разработка - Разработка внешних компонент

(скачать и использовать можно бесплатно, т.е. ДАРОМ) Сохранение больших таблиц 1C в XLS - проблема известная: 1С задумывается надолго, и если таблицу в 5000 строк еще реально дождаться, то больше - уже ''Изя - все!''. Данная обработка представляет собой ''обертку'' для подмены МЕДЛЕННОГО интерактивного сохранения MXL в XLS БЫСТРЫМ программным сохранением. 50 000 строк сохраняются за 3 секунды...

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

Наименование Файл Версия Размер
MXL -> XLS: давайте сделаем это быстро!
.1185880767 240,77Kb
6106
.1185880767 240,77Kb 6106 Скачать бесплатно
файл Внешней Компоненты
.dll 90,50Kb
4565
.dll 90,50Kb 4565 Скачать бесплатно

Сохранение больших таблиц 1C в XLS - проблема известная: 1С задумывается надолго, и если таблицу в 5000 строк еще реально дождаться, то больше - уже ''Изя - все!''. Данная обработка представляет собой ''обертку'' для подмены МЕДЛЕННОГО интерактивного сохранения MXL в XLS БЫСТРЫМ программным сохранением.

Решений по сохранению больших таблиц 1С в XLS разной эффективности существует достаточно. Вашему вниманию предлагается "программная обертка" для еще одного решения (не моего!), которым я с успехом пользуюсь. и вам рекомендую!

Для оценки эффективности решения дам такие цифры:
* плоские таблицы (без излишних наворотов, объединений ячеек и пр.) сохраняются очень быстро. Если взять такую таблицу порядка на 50 000 строк - то, действуя типовым образом ''Файл -Сохранить как - XLS'', окончания процесса вы, скорее всего, и не дождетесь. С применением предложенного решения - сохранение осуществляется порядка за 3 секунды.
* ''неплоские'' таблицы, с тяжелым форматированием, пересекающимися объединениями ячеек - сохраняются не так быстро - подождать все-таки придется - но вполне за приемлемое время. В качестве такой ''тяжелой таблицы'' возьмем отчет по партиям из типовой ТиС с большим количеством включенных группировок и разверткой по документам движения на 22 000 строк (для сравнения попробовал решение, предложенное на http://www.infostart.ru/projects/259/ - минут через сорок задачу снял), текущая обработка позволила сохранить эту ''тяжелую'' таблицу за 9 минут.

Тесты проводились на ПК с Атлон-1800+, 512 RAM/

Обязательно хочу отметить следующее: сохранение в XLS таблиц с тяжелым форматированием я считаю нецелесообразным - что потом в EXCELe с этой таблицей делать? К какому-либо анализу такие таблицы, как правило, непригодны - приходится их переформатировать и затраты на эту работу сопоставимы с программированием нового отчета нужного формата в 1С.

А плоские таблицы, которые удобно в EXCELe ''вертеть'' - сохраняются быстро - что и требовалось.

Быстрое сохранение в XLS обеспечивается решением, реализованным здесь: http://www.kb.mista.ru/article.php?id=219 - внизу страницы приведена ссылка на внешнюю компоненту, которая необходима для работы обработки.
Переписка с разработчиком позволила уточнить - данное решение не работает, если сохранение таблицы 1С осуществляется через стандартный диалог сохранения файла, т.е. сохранение таблицы следует производить программным методом Таблица.Записать(...) - что данная обработка и производит: 1. перехватывает с экрана таблицу с данными, спрашивает у пользователя папку для сохранения файла и производит программную запись файла.

Выложить данную ''программулину'' сподвигло обсуждение на //infostart.ru/forum/read.php?25,873 - не все еще знают про замечательную разработку romix''a

Для использования программулины необходимо наличие ВК FormEX, которую можно взять здесь: http://www.dorex.pro/?projects&formex&download

Порядок установки и работы:

  1. установить необходимые ВК;
  2. установить данную обработку;
  3. повесить на панель инструментов кнопку типа ''Сохранить в XLS''

Все готово. Теперь, когда в 1С открыта таблица - жмем эту кнопку и ОК!
Иллюстрация - см.картинки.

Обработка - бесплатная, полностью функциональная.

Данная обработка эксплуатирует идею доступа к содержимому любой печ.формы извне (без изменения программного кода формирования таблицы), изложенную здесь: http://www.infostart.ru/projects/316/

Вторым файлом выложена ВК MXL_DOCTOR.DLL, необходимая для работы программы. Инструкции - внутри архива.

См. также

HTTP сервер 1С 7.7 + HTTP асинхронный клиент: внешние компоненты для 1С 7.7

Разработка внешних компонент WEB-интеграция Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Компонента HttpSrv7 позволяет создавать веб-сервисы в среде 1С 7.7 и даже, используя файлы HTML, несложные веб-сайты. С помощью нее можно обеспечить доступ к данным 1С 7.7 из браузера. Дополнительно используя компоненту HTTP_Async или синхронный клиент HTTP для 1С 7.7 (публикация № 1152364) можно наладить обмен данными между удаленными информационными базами. С помощью компоненты HTTP_Async можно параллельно посылать много запросов к сайтам, веб-сервисам (в т.ч. к HttpSrv7), а затем обрабатывать данные по мере их поступления.

2000 руб.

27.05.2022    7813    19    13    

31

1С:Фото номенклатуры 7.7 - решение для работы с фотографиями номенклатуры в 1С:7.7 (включая формат PNG)

Работа с интерфейсом Логистика, склад и ТМЦ Платформа 1С v7.7 1С:Торговля и склад 7.7 Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Решение для разработчика и конечного пользователя для работы с фотографиями номенклатуры: систематизация, хранение, отображение, а также выгрузка на Яндекс-Диск и FTP (кроме версии лайт). Поддерживаются графические форматы: bmp, jpg, gif, tiff, а также png - не поддерживаемый штатными средствами 1С. Выполнено без использования внешних компонент (кроме функции выгрузки на FTP). Поставляется как в виде пустой конфигурации с набором объектов и модулей для работы с фото, так и в виде обновления к 1С:Торговля и склад 7.7. Выполнено в двух версиях: "полная" и "лайт".

5000 руб.

18.10.2022    5164    1    45    

3

Загрузка банковской выписки для 1С 7.7 любой конфигурации

Банковские операции Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Россия Бухгалтерский учет Платные (руб)

Решение предоставляет комплексную загрузку банковской выписки из CSV, XLS, TXT файла в 1С 7.7 любой конфигурации. Позволяет создавать документы выбранного вида, например "Строка выписки банка (приход/расход)", или многострочный табличный документ, например Выписка, для каждой операции из загружаемого файла банковской выписки. Загружает реквизиты документа, а также создаёт контрагентов и другие необходимые элементы справочников.

3588 руб.

29.07.2021    20604    13    22    

14

Загрузка документов в 1С (7.7) из табличных файлов Excel,OpenOffice,1C,DBF,TXT (обработка)

Файловый обмен (TXT, XML, DBF), FTP Загрузка и выгрузка в Excel Платформа 1С v7.7 Конфигурации 1cv7 Платные (руб)

Обработка решает поставленную задачу по вводу документов, а кроме того обладает важной функцией: настраивается на ассортимент конкретного поставщика, запоминая соответствие между его номенклатурой и «нашей». Т.е. фактически – является самообучающейся системой ввода накладных. У разных поставщиков могут быть накладные различного типа, с разным количеством полей, поэтому для каждого из них может быть сохранена своя собственная настройка диалоговой формы так, что любая поступающая накладная может быть обработана. По отношению к программе "1С:Предприятие 7.7" данное решение является внешними файлами. Для использования данного продукта не требуется вносить изменения в алгоритм существующих программ или используемых конфигураций.

2400 руб.

10.12.2009    76468    58    93    

68

Компонента ExchangeStruc (Структура Обмена). Прямой обмен данными между потоками, сессиями и окнами.

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Платформа 1C v8.2 Платформа 1С v8.1 Россия Платные (руб)

Аддон "Структура Обмена" (ExchangeStruc) - это компонента, которая обеспечивает доступ к разделяемым процессом структурам, аналогичным структурам 1С. Обеспечивает прозрачную передачу данных примитивных типов, в том числе Двоичных данных, в режиме Реального времени между разными контекстами (формами) или потоками одного процесса. В перспективе функционал будет расширен для обмена между процессами, даже разных версий платформ. Совместим с версиями Windows рабочих станций и серверов, с платформами 1С разных версий и релизов в режиме Native начиная с 8.2, и в режиме COM начиная с версий 7.7. По скорости чтения и записи лишь немногим уступает стандартной структуре 1С. НОВОЕ: Добавлен функционал регистрации компоненты COM в качестве OLE Auto (COMОбъект) для поддержки её работы в серверах старых версий 1С: 8.0 и 8.1, где работа с компонентами исключена. Теперь можно коммуникацию с Фоновыми заданиями на этих версиях проводить.

7200 руб.

19.04.2023    4801    1    0    

3

Выбор из большого списка (для 1С 7.7)

Разработка внешних компонент Платформа 1С v7.7 Платные (руб)

Компонента для выбора значения из больших списков значений.

1200 руб.

02.12.2021    5778    2    19    

4

Компонента для 1С, принимающая вес с железнодорожных, автомобильных, крановых весов

Разработка внешних компонент Платформа 1С v7.7 Платформа 1С v8.3 Транспорт, автопарки, такси Россия Платные (руб)

Программа "Компонента приёма веса для 1С, версия 3.0" позволяет принимать и заносить вес с весов непосредственно в программу "1С" - то есть, прием веса осуществляется целиком и полностью из программы "1С".

26400 руб.

09.04.2019    16063    2    8    

5

ЭВОТОР: выгрузка и загрузка в онлайн кассу в соответствии с требованием 54-ФЗ (54ФЗ). 1С: 7.7 ТиС

Загрузка и выгрузка в Excel ККМ Платформа 1С v7.7 1С:Торговля и склад 7.7 Управленческий учет Платные (руб)

Выгрузка из 1C версии 7.7 ТиС (Торговля и Склад) в EXCEL для дальнейшей загрузки в кассы ЭВОТОР, с помощью обработки обмен через EXCEL ( которая выбирается на сайте ЭВОТОР в магазине приложений). Полная версия без ограничений. Демоверсия позволяет выгружать только 5 строк номенклатуры(группы товаров). Демоверсия обладает такими же характеристиками что и полная за исключением того, что выгружает 5 строк неважно чего группы или номенклатуры (текст обработки зашифрован). Если у вас одна позиция номенклатуры или 5 позиций без групп, тогда Демоверсия для Вас. Если вдруг выскакивает ошибка по запуску обработки попробуйте запустить 1с с правами администратора

3000 руб.

19.06.2017    49817    9    26    

14
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
100. CheBurator 3119 31.07.07 13:12 Сейчас в теме
Проблема пользователя maysi решена: все дело былов "ненадлежащем" файле mxl_doctor.dll (откуда он взялся - разбираться не будем) - он отличался от выложенного для скачивания на этой странице!
Используйте проверенные варианты!
101. maysi 31.07.07 15:12 Сейчас в теме
ОГРОМНОЕ-ПРЕОГРОМНОЕ СПАСИБО за Ваше внимание и терпение.

Мой mxl_doctor.dll взят с адреса http://x-romix.narod.ru/MXL_DOCTOR.rar
С ним почему-то не работает как надо.

Еще раз спасибо, обработка - СУПЕР, ШИКАРНАЯ, ОЧЕНЬ АКТУАЛЬНА для экономико-аналитической работы с 1С, существенно экономит время, нервы.
102. CheBurator 3119 31.07.07 15:21 Сейчас в теме
В связи с вновь открывшимися обстоятельствами:
в установочный пакет включена "беспроблемная" версия MXL_Doctor и последняя (на 31.07.2007) версия FORMEX - все файлы внутри архива.
103. rezi 26.09.07 13:06 Сейчас в теме
Проверил. Работает. Понравилась. Спасибо. Рекомендую всем.
104. rezi 27.09.07 18:53 Сейчас в теме
Два дня тестирования в реальной работе.
Всё работает замечательно.
Даже мои фотографии номенклатуры в документах правильно сохраняет.
Сохраняет даже быстрее, чем формируется в 1С.
Странно всё это :-)
105. CheBurator 3119 27.09.07 18:57 Сейчас в теме
а то!
чем больше вы будете заниматься боксом - тем mjkmit вокруг вас будет странного и непонятного...
106. SAshock 03.10.07 10:06 Сейчас в теме
больше 65000 строк не могу выгрузить.
как быть?
107. CheBurator 3119 03.10.07 11:07 Сейчас в теме
65000 - "ограничение" Excel
ищите обходные пути - выгружать на несколько листов, частями и т.д. - в принципе проблема известная - пройдитесь поиском..
108. пользователь 22.11.07 09:28
Сообщение было скрыто модератором.
...
109. vasilykushnir 63 22.11.07 10:14 Сейчас в теме
(108) в каких версиях? И как это относится к тому что 1С не выгружает больше 65000?
110. vinny62 03.01.08 20:26 Сейчас в теме
Почему-то не работает! 1С сообщает об ошибке и о том, что "приложение обратилось по адресу такому-то. Память не может быть read". И все!
111. CheBurator 3119 03.01.08 21:38 Сейчас в теме
(110) 1. Попробовать на другой машине, с нормальным железом.
2. попробовать сначала не небольшой таблице, потом - побольше...
112. Abadonna 3958 03.01.08 21:43 Сейчас в теме
>"приложение обратилось по адресу такому-то. Память не может быть read"
Это сто пудов траблы с компонентой. А почему - ХЗ
113. CheBurator 3119 03.01.08 21:50 Сейчас в теме
какие еще ВК использует вопрошающий? у мну грузится с 10-ок ВК - полет нормальный...
114. vinny62 04.01.08 09:26 Сейчас в теме
В глобальном, при начале работы, грузится DialMail.dll, ROM-Mail.dll, 1cpp.dll
115. CheBurator 3119 04.01.08 12:57 Сейчас в теме
(114) попробуй сначала 1сpp - ПЕРВОЙ, потом ВК, диал и ром пока отключить...
116. victuan 4232 14.10.08 05:01 Сейчас в теме
> грузится DialMail.dll, ROM-Mail.dll
Зачем их грузить обе?!!! Первая ВК покрывает возможности второй!
117. MSensey 49 02.12.08 15:09 Сейчас в теме
О блин, помница нашел я несложное решение этой проблемки.
Покапаюсь в старых разработках ...
118. Andzhej 22.03.09 04:12 Сейчас в теме
119. бубух 11.06.09 14:23 Сейчас в теме
+. Здорово, мне нравится.
120. diims 366 23.11.09 11:45 Сейчас в теме
При попытке регистрации библиотек FormEx.dll и mxl_doctor.dll вываливается ошибка "The specified module could not be found". Никто не сталкивался?Что бы это могло быть?
121. pavlo 02.12.09 12:46 Сейчас в теме
странно то, что я просто прописал так в глобальнике (формекс там давно живет нормально):

Попытка
ЗагрузитьВнешнююКомпоненту("mxl_doctor.dll");
ёксель=СоздатьОбъект("AddIn.mxl_doctor");
ёксель.ВылечитьMXL();
Исключение
КонецПопытки;

теперь как только делаю файл-сохранить как и выбираю ексель, жму сохранить и 1с вываливает с ошибкой на память :(
релиз 27 1с.
Предпочтительно конечно именно этот вариант, а не вариант с кнопкой, но увы :(
122. CheBurator 3119 12.02.10 19:48 Сейчас в теме
(121) возьмите последние весрии формекса и 1С++ - прроверьте порядок загрузки - 1с++ первая!!! потом формекс!!! потом все остальное
131. pavlo 05.11.10 19:05 Сейчас в теме
(122) порядок загрузки именно правильный :(
132. CheBurator 3119 05.11.10 19:21 Сейчас в теме
(131) отключить все ВК, оставить только эту. перегрузиться. проверить. сообщить результат
123. Andrew_flyer 84 09.06.10 16:31 Сейчас в теме
А кто блеснёт знаниями сохранения в 2007 excel более чем 65536 строк???????77
сама 1с-ка то поддерживает строчек побольше чем Excel 2003...и на сколько я понимаю даже 8.1 не умеет выгружать в Excel 2007
124. CheBurator 3119 09.06.10 16:37 Сейчас в теме
(123) по этим вопросам уже перетирали, в т.ч. и на ИСЕ. самый простой способ: Йоксель
125. mute 30.06.10 11:25 Сейчас в теме
Простите тупой вопрос - как "повесить " кнопку на панель инструментов ?

извините, вопрос снят, разобрался :)
126. mute 30.06.10 23:57 Сейчас в теме
К сожалению на комплексной 4.5 вылетает 1с при запуске этой обработки.. подскажите, в чем может быть дело ?
127. CheBurator 3119 01.07.10 01:11 Сейчас в теме
(126) комплексная здесь не при чем - проверяйте версии формекса и 1С++ если он есть. проверяйте порядок их загрузки.
128. BlueWind 02.07.10 18:49 Сейчас в теме
Замечательное решение. Использую постоянно. Автору спасибо.

Натолкнулся на проблему - сохраненную таблицу, в которой более 256 колонок Excel не открывает. Пишет "Невозможно прочитать файл" и далее "В книге ххх обнаружено содержимое, которое не удалось прочитать", затем предлагает восстановить, но результат никакой (Office 2003).

Попробовал сохранить однострочную таблицу с значением в 257 колонке штатным средством без ВК - результат тот же (релиз 25). Похоже, что это ограничение от 1с? Это можно как-то победить?
130. BlueWind 02.07.10 20:24 Сейчас в теме
(128)
(129) 1. Эксперименты по первому пункту:

Сохранение таблицы, содержащей более 256 колонок
---------------------------------------------------------------------------------------------
1с релизы 25 и 27..........................Excel 2003...........Excel 2007
---------------------------------------------------------------------------------------------

Способ 1 (MXL -> XLS)..........................Нет......................Нет

Способ 2 (MXL -> HTML - > XLS)...........Нет......................Да
---------------------------------------------------------------------------------------------

Сохраненный файл смог открыть Excel 2007, сохраненный по способу и с использованием dll отсюда:
http://kb.mista.ru/article.php?id=384 "Сохранение данных MXL->XLS через HTML". Без перенастройки разделителей в Excel числа в полученной таблице стали строками..

2. По второму пункту: С использованием Йокселя
http://infostart.ru/public/15605/
результат тот же - в сохраненной таблице в принципе присутствует 256 колонок, а за ними - пустота. Попробовал сохранить таблицу из 1с в родном MXL и открыть в yoksel_stand_alone_release_01_01_02. В Йоксель таблица вошла хорошо, но сохраненная оттуда в формате XLS опять же в Excel показывает только 256 колонок..
129. CheBurator 3119 02.07.10 19:01 Сейчас в теме
1. попробуй эксель посвежее.
2. сохранятьв эксель - через Йоксель
133. sumixam 14.09.11 10:48 Сейчас в теме
134. serj1979 23.09.11 12:20 Сейчас в теме
большущее СПАСИБО автору!
Комллексная 4.5
10200 строк - 93 сек.
135. SAshock 24.11.11 12:01 Сейчас в теме
в любых конфах 1с ставил - работает на Ура!
автору - респект!
136. пользователь 20.12.11 12:51
Сообщение было скрыто модератором.
...
137. Ёпрст 1063 20.12.11 12:55 Сейчас в теме
Да уж. Чебур и не стыдно ЭТО продавать ?!
138. Mig_Alm 02.02.12 08:41 Сейчас в теме
Классная обработка. Наконец то выгружаю прайс не 30 минут. А то комп не совсем новый и тормозит сильно, а теперь порядок - 2 минуты и готово! плюс однозначно!
139. rom-x 152 16.02.12 11:51 Сейчас в теме
Спасибо, значительно экономит время, 25 тыс. строк около 4 минут. Ну а за платные допы -
140. пользователь 01.03.12 20:04
Сообщение было скрыто модератором.
...
141. N_aix 09.03.13 16:08 Сейчас в теме
142. igor_1c 17 22.08.14 19:36 Сейчас в теме
А у меня проблема с регистрацией компонент formEx.dll и mxl_doctor.dll в Windows 8 x64, не могу зарегистрировать через regsvr32. Как обойти эту проблему?
143. CheBurator 3119 22.08.14 19:32 Сейчас в теме
(142) точно не подскажу - на 64 разрядах у меня ничего не работает, для начала посмотреть сюда http://support.microsoft.com/kb/249873/ru
при регистрации - админские права и отключение всяких UAC.
.
по крайней мере уодого из клиентов тоже была такая проблема - но я как-то быстро с этим разобрался, но точного рецепта не дам - не помню просто
144. Ёпрст 1063 25.08.14 08:47 Сейчас в теме
(142) формекс сто лет в обед не нуждается в регистрации в реестре.
145. igor_1c 17 26.08.14 19:48 Сейчас в теме
Нормально проходит регистрацию в windows 8 только v7plus.dll, а 1cpp, mxl_doctor.dll, vkloader пишут "Не удалось загрузить модуль mxl_doctor.dll. Проверьте, что двоичный файл хранится на указанном пути или запустите отладку, чтобы диагностировать проблемы с этим двоичным файлом или зависимыми DLL-файлами.
146. Ёпрст 1063 27.08.14 11:53 Сейчас в теме
(145) еще раз, 1cpp и formex не требуют регистрации в реестре, использовать vkloader тоже нет нужды.
Решение с mxl_doctor.dll - не самое лучшее, от него нужно отказаться в сторону йокселя, который тоже не требует регистрации в реестре и работает не в пример быстрее
147. CheBurator 3119 27.08.14 15:04 Сейчас в теме
Да, лучше использовать йоксель - это более лучшее правильное решение!
148. igor_1c 17 27.08.14 15:29 Сейчас в теме
(147) йоксель тоже требует регистрации библиотек dll?
149. CheBurator 3119 27.08.14 18:17 Сейчас в теме
вроде нет.
на йокселе работает сохранение в эксель вот здесь у меня http://infostart.ru/public/14180/
150. with 27.08.14 17:49 Сейчас в теме
Коллеги, зачем сохранять 50т строк данных в формате xls? Чтобы потом их героически распарсить?
Наверняка эти файлы будут обрабатываться не в ручную.
Зачем это все шаманство с установкой непонятно каких dll на базу бухгалтерии предприятия?

Ну в самом простом случае можно сохранить выборку просто в текстовый csv файл как
Номер;Название;Цена;
1;Товар1;50;
1;Товар2;100;
Откроется в любом ms excel
151. CheBurator 3119 28.08.14 18:26 Сейчас в теме
(150) потому что некоторые дятлы не понимают разницы между отчетом для визуального осмысления/обработки и набором данных для автоматизированной обработки.
.
и да, конечно, за сохранение данных в эксель - если эти данные потом предполагается автообрабатывать - надо убивать на месте. С иксемелем полегче, но вообщем не убивать а 20 лет урановых рудников.
152. sergik_nsk 148 12.03.15 15:37 Сейчас в теме
Теперь автору нужно на 1с8 компоненту переписать и тогда + будет еще в 3 раза больше
153. pomestnik 50 01.04.16 17:02 Сейчас в теме
Под 8.2 подобного решения нет ? Проблема с сохранение больших прайсов с картинками в эксель имеется... (
154. CheBurator 3119 16.04.21 22:16 Сейчас в теме
для 77 вместо моксель-доктора, описанного в этой статье, я теперь использую ВК mxlboost.dll/ Просто загружаем ее при старте системы и все. Далее сохранение через штатные файл-сохранить...
155. CheBurator 3119 01.12.21 10:41 Сейчас в теме
есть еще одна ВК для решения этой же задачи MXLboost.dll
https://www.1cpp.ru/forum/YaBB.pl?num=1215033727
чем-то она лучще MXLdoctor (чем, не помню...)
Оставьте свое сообщение