gifts2017

Конвертер XLS -> MXL для 1С 8.1, 8.2, 8.3

Опубликовал Артур Чколян (sondarium) в раздел Обмен - Загрузка и выгрузка в Excel

Внешняя обработка - конвертирует excel-файлы *.xls|*.xlsx в таблицы 1С *.mxl

Версия для 8.1 также приложена.


Версия 1.0.1

  • Исправлены некоторые ошибки (by sondarium, iiceberg)
  • Добавлен выбор файла в интерфейс (by iiceberg)

Версия 1.0.2

  • Исправлены некоторые ошибки (by sondarium, BratO4karik)

Версия 1.0.3

  • Исправлена установка цвета фона ячейки (by sondarium)

Версия 1.0.4

  • Исправлена работа при количестве строк или колонок более тысячи (by sam441)

Версия 1.0.5

  • Оптимизация (by adc3)
Версия 1.0.6

  • Добавлена поддержка формата xlsx (by sondarium)
  • Добавлена управляемая форма (by sondarium)

 

Примечание. Время работы увеличилось. Но зато качество тоже увеличилось.

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

Наименование Файл Версия Размер Кол. Скачив.
Обработка версия для платформы 8.2 и 8.3
.epf 20,98Kb
09.10.15
936
.epf 20,98Kb 936 Скачать
Обработка версия для платформы 8.1
.epf 12,47Kb
09.10.15
355
.epf 12,47Kb 355 Скачать

См. также

Подписаться Добавить вознаграждение

Комментарии

1. Петр Метл (izhorets) 02.11.10 10:57
Обработка великолепно справляется со своими функциями.
Желательно к полю "XLS"добавить функцию выбор файла.
2. bulpi bulpi (bulpi) 03.11.10 19:25
Молодца!
И все-таки есть подозрение, что можно быстрее :)
3. Денис (amyd) 03.11.10 20:59
круто!!! теперь есть обработка перегона из екселя в mxl
+ есть перегон из mxl в HTML
.. мяка.... можно теперь средставами 1С через сервак перегонять ексель в красивые письма и не гемороится.. респект и уважуха!!!! :)
4. Артур Чколян (sondarium) 03.11.10 21:19
5. k k (cool.dkf) 11.11.10 13:55
6. Артур Аюханов (artbear) 25.03.11 16:59
Из XLS в mxl перегоняется хорошо, полученный файл в 1С-Предприятии выглядит также, как и в Excel.
Но есть одно НО: если полученный файл попробовать вставить как макет табличного документа в Конфигураторе, форматирование останется, но все поля будут пустыми. Например, полученный файл открываем в Конфигураторе, выделяем все (нажимаю пустую ячейку на пересечении 1 строки и 1 столбца), копируем и вставляем в макет.
Конечно, решение есть: перед вставкой выделяем все ячейки (ВАЖНО: не строки/столбцы, не всю таблицу, а именно ячейки), и в свойствах убираем галочку "Содержит значение", после этого можно копировать, как написано выше, и все будет в порядке.
Можно ли что-то с этим сделать на этапе конвертации в данной обработке? или это все-таки особенность работы Конфигуратора?

ЗЫ есть ли еще аналогичные хорошие конверторы XLS->MXL для 8.1/8.2 ?
Trakt0risT; cargobird; Istur; +3 Ответить
7. Eugeneer (Eugeneer) 25.03.11 17:39
Блин. Один облом. она требует экселя!!! а это плохо!
8. Ийон Тихий (cool.vlad4) 25.03.11 17:57
(7) как вариант, йокселем в mxl7.7, а потом уже 1С в mxl8. В этом плане йоксель,конечно, вне конкуренций - группировки он без труда делает и т.д.
PS ....но надо проверить, давно я ентого не делал...
9. Андрей Григорьев (Borisych) 20.04.11 00:09
Качну - надо испытать, а то всё руки не дойдут никак переделать обработку для 7.7 под 8.х :)
10. Артур Чколян (sondarium) 30.05.11 14:55
artbear пишет:
ЗЫ есть ли еще аналогичные хорошие конверторы XLS->MXL для 8.1/8.2 ?


Насколько я знаю, моя единственная. Потому и сделал.
Istur; megatrend; +2 Ответить
11. Anton Mar (martsevao2) 26.09.11 06:21
12. Сергей (Skazal) 10.10.11 09:20
Отлично работает. Претензий нет.
13. dgamelya (revril) 10.10.11 11:58
14. dgamelya (revril) 20.10.11 11:43
15. Ирина Каюрова (KayuIra) 31.10.11 09:08
Отличная уникальная вещь! Спасибо автору! :)
17. dgamelya (revril) 17.11.11 16:11
18. Il'ya Mankov (Tpakmop) 04.01.12 19:02
19. metal doctor (metmetmet) 13.01.12 10:40
Очень нужная и полезная вещь!
С ней печатные формы создавать на раз-два получается!
Спасибо автору большое!
20. Максим Пономарев (Ponommax) 02.04.12 11:17
А установленный офис ей требуется?
21. AlexM (alexm73) 02.04.12 12:46
Нескромный вопрос: а что-то подобное, для OpenOffice/LibreOffice не планируется?
22. Артур Чколян (sondarium) 02.04.12 13:53
(21) alexm73, я не планирую
(20) Ponommax, требуется
23. Александр Александров (w-w-w-w-w-w-) 03.04.12 22:52
А я всегда лист копировал с Excel в Работа с Файлами и не изобретал велосипед
24. Дмитрий Веселов (Veduin) 07.06.12 11:47
А нельзя было одним архивом, сначала скачалось под 8.1, пришлось зайти снова скачать под 8.2
25. Артур Чколян (sondarium) 07.06.12 13:00
(24) Veduin, в правилах публикации не рекомендуется обработки в архив сжимать
26. Дмитрий Веселов (Veduin) 08.06.12 01:59
Тестирование немного затянулось... Сейчас много различных конверторов XLS->MXL здесь представлено.
В отношение данного образца, скажу что справилась с задачей неплохо, не получилось точной копии екселя, немного пришлось все таки дорисовывать, но все же хорошо!
27. ediks (ediks) 25.09.12 11:29
(0) Взял файл EXCEL с группировками строк в 2 уровня.(кстати, сохраненный средствами 1С из табличного документа).
Вот что имеем в результате конвертирования:
1. Группировки не создаются - все идет плоским списком. Это для меня пока некритично.
2. Строки в последней группировке не создаются вообще, если группировка свернута до 1-го уровня. Создается только одна строка первого уровня. Развернул группировку в файле EXCEL, сохранил файл, запустил обработку - все ОК. Вот это уже потенциальная потеря данных :).
ЗЫ. Попробовал конвертировать бухгалтерский баланс - в целом неплохо. Но не всегда получается объединение ячеек.

Все равно ПЛЮС.
28. Sam Sam (sam441) 18.01.13 07:44
Респект, спасибо пригодилась, только один момент в случае если количество строк или колонок > 1000 появляется неразрывный пробел и выходит ошибка, нужно подправить строки 305 и 340 на
Ячейка = Т.Область("R" + Формат(ТекСтрока,"ЧГ=") + "C" + Формат(ТекКолонка,"ЧГ=") + ":" + "R" + Формат(ТекСтрока,"ЧГ=") + "C" + Формат(ТекКолонка,"ЧГ="));
29. Андрей Тарлыков (Tarlich) 01.02.13 09:51
30. Олег Кирияк (oleglega) 12.03.13 22:38
Добрый день! Вопрос к автору за сколько продадите эту обработку очень надо!
31. Олег Кирияк (oleglega) 12.03.13 23:23
вопрос снимаем. с другого источника скачал.
32. Юрий Осипов (yuraos) 13.03.13 05:43
Что-нибудь полагается 100-тому проголосовавшему клиенту???
:)
33. Артур Чколян (sondarium) 13.03.13 13:42
oleglega, обработка бесплатна! Эту обработку я изначально делал даром и для всех.

yuraos, полагается моя благодарность! Мне очень приятно видеть, что нечто, что я сделал своими руками, приносит реальную пользу. Спасибо всем за поддержку!
35. Олег Кирияк (oleglega) 14.03.13 11:59
а инфостарт предлагает скачать за деньги. вот ...
36. Артур Чколян (sondarium) 14.03.13 12:50
А теперь всё ещё просит денег?
37. Олег Кирияк (oleglega) 14.03.13 13:19
а сейчас без проблем!) Спасибо большущее! )
38. Артур Чколян (sondarium) 14.03.13 17:41
Пожалуйста, надеюсь, пригодится!
39. Михаил (revil) 14.03.13 19:46
Жаль, что инфостарт за скачивание требует денег за скачивание.. (
Пришлось качать с другого источника.
Автору респект за обработку!
40. Alexey Smirnov (Alex353) 10.06.13 09:48
комментарии респектуют, а у меня обработка файл XLS из одного несложного листа никак переварить не может. Бегунок ползет слева направо минут 20 и потом наглухо зависает. Было у кого-нибудь такое?
41. Артур Чколян (sondarium) 10.06.13 09:55
(40) Alex353, не пришлёте мне файл, который не переваривается?
42. Alexey Smirnov (Alex353) 10.06.13 10:14
(41) sondarium, выслал. Все-таки файл за полчаса сделался в лучшем виде. Непонятно только что так долго, может процесс так тормозят объединения ячеек? По отладчику понять на чем виснет не удалось.
43. adc3 15.11.13 15:48
Добрый день! Обработка замечательная, а от себя могу поделиться маленьким полезным, на мой взгляд, дополнением. В процедуре КнопкаВыполнитьНажатие() модуля формы необходимо "обрамить" блок записи значения в ячейку оператором условия следующего вида:
// Запись значения
Если ЗначениеЗаполнено(Источник.Value) Тогда // СТРОКА ДОБАВЛЕНА
	Попытка
		Ячейка.СодержитЗначение = Истина;
		Ячейка.Значение = СокрЛП(Источник.Value);
	Исключение // это объединённая область
	КонецПопытки;
КонецЕсли; // СТРОКА ДОБАВЛЕНА
...Показать Скрыть

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

Спасибо!
44. Артур Чколян (sondarium) 15.11.13 16:44
(43) adc3, спасибо, применил Ваши оптимизации.
45. Юрий Ачкасов (practik1c) 19.11.13 15:06
Спасибо за обработку, сэкономил время. До этого писали про долгое время выполнения, у меня тоже при конвертации зависла наглухо. Как оказалось на заднем плане открылось модальное окно экселя с вопросом сохранить изменения в файле или нет. Вот это окошко и держит процесс на финальной стадии. Чтобы его увидеть нужно свернуть текущее окно с 1С.
46. Владимир Насыров (Spacer) 17.01.14 18:45
Спасибо! Пожалуй лучший вариант по качеству обработки из тех что я нашел на инфостарте.
47. Максим Жохов (ZhokhovM) 25.07.14 15:50
Добрый день! В вашей обработке 8.2 исключите, пожалуйста, признак того, что ячейка содержит значение, а то я копирую макет после конвертации обработки 8.2, вставляю его в свою обработку и переоткрываю его, вижу что весь текст пропал, оказывается что это связано со свойством "Содержит значение".
48. Максим Жохов (ZhokhovM) 25.07.14 15:51
(47) ZhokhovM, думаю это связано с нововведением 1С:Предприятие 8.3 (8.3.5.1068).
49. Xer shi (Xershi) 25.07.14 16:58
(48) ZhokhovM, сам спросил себе и ответил?
50. Виктор Прокудин (NNomad) 28.07.14 10:04
Спасибо за обработку.
Но обработка не переносит примечания к ячейкам.
Решил проблему добавлением следующего кода:
// Запись примечания
Попытка
  _Примечание = СокрЛП(СтрЗаменить(Источник.Comment.Shape.AlternativeText,"Подпись: ",""));  // Источник.Comment.Text  ????
  Если ЗначениеЗаполнено(_Примечание) Тогда
    Ячейка.Примечание.Текст = _Примечание;  
  КонецЕсли;
Исключение
КонецПопытки;
...Показать Скрыть

Решение не очень красивое, но работает.
51. Максим Жохов (ZhokhovM) 31.07.14 10:13
(49) Xershi, решил проблему закомментированием следующего кода:
//ОбластьТаб.СодержитЗначение = Истина;
//ОбластьТаб.Значение = СокрЛП(Источник.Cells.Value);
ОбластьТаб.Текст = СокрЛП(Источник.Cells.Value);
и
//Ячейка.СодержитЗначение = Истина;
//Ячейка.Значение = СокрЛП(Источник.Value);
Ячейка.Текст = СокрЛП(Источник.Cells.Value);
Текст при копировании больше не пропадает. Кому надо, заменяйте!
Sirus Virus; cargobird; +2 Ответить
52. Серж Иванов (adminfo2002) 11.09.14 11:56
Для 8.2 работает без проблем. Облегчила мне работу. Спасибо автору.
53. Епрст (Ёпрст) 11.09.14 12:03
На счет готового решения, есть йоксель и решение на нем - отдельная утилита (exe-ник)
yoksel-stand-alone

ЗЫ: а так да, на снеговике других поделок не видел, на клюшках реализаций, как минимум 4 штуки есть.
54. Владимир (vladir) 11.09.14 12:11
Отличная штука. Спасибо!
55. Андрей Язонкин (andrey-ya) 11.04.15 09:10
выгрузил из бухгалтерии 3.0 справочник контрагентов в xml. пробую его прочитать данной обработкой в упп на платформе 8.2. выдаёт ошибку "не удалось создать Com объект". печалька.
56. Igor Kitaev (pimenushka) 26.07.15 12:24
Совершенно врет по цветам и ориентации текста. Подходит только для черно-белых документов с несложной структурой.
Для написания сообщения необходимо авторизоваться
Прикрепить файл
Дополнительные параметры ответа