gifts2017

В 60 !!! раз сжимаем файл MS EXCEL с картинками (созданный программно из 1С)

Опубликовал Юрий Тимофеев (Tatitutu) в раздел Обработки - Универсальные обработки

Все мы когда то сталкивались с экспортом картинок в файл MS EXCEL (или семейство MS принцип один и тот же)
Что интересно , покажу на примере если создать новый лист MS EXCEL и вставить
в него картинку (*.jpg) размером 1,06 мб и сохранить книга столько примерно и будет весить.(это касается последних версий MS EXCEL)
Но если программно в таблицу 1С вставить туже картинку и сохранить в формате *.xls
То новоиспеченное чудо будет весить `24,2 мб. !!! Красиво да.
А если не одна картинка ?
Давайте разберемся почему так происходит.
1. 1С сохраняет (экспортирует свою мxl таблицу по умолчанию в MS EXCEL в формате 05 MS EXCEL)
- хорошо руками открываем файл и сохраняем в нужном нам формате. Смотрим размер файла - 5,6 мб. уже хорошо, но еще нето.
2. В свойствах рисунка есть замечательная функция сжать.... выбираем ее и выбираем "Изменить разрешение для экрана и Интернета"  всего 96 точек на дюйм вместо 200 )))
Сохраняем файл и что мы видим файл весит 0,8 мб....да это прорыв. Но это каждый раз ручками, лень....
Данная обработка не претендует на оригинальность, ОНА ПРОСТО показывает на примере как программно можно добиться успеха в 60 раз ! файл в итоги будет весить 0,4 мб (не без помощи языка VBA)

 

 

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

Наименование Файл Версия Размер
СжатиеEXCEL.ert,Пример.jpg,Шаблон.xls 414
.zip 332,82Kb
20.02.12
414
.zip 332,82Kb Скачать

См. также

Подписаться Добавить вознаграждение
Комментарии
1. Алексей Константинов (alexk-is) 14.05.09 06:01
Прикольно. Только подпись смутила... :)
2. Андрей Скляров (coder1cv8) 14.05.09 09:13
Убери из подписи "гений", это оскорбительное слово в кругах одинэсников )
3. Александр Рытов (Арчибальд) 14.05.09 09:21
4. Юрий Тимофеев (Tatitutu) 14.05.09 10:17
(2) так уж меня назвали давным давно еще в армии служил
ПРОсто Гений (от слова ПРОГ)
5. Василий Демидов (Душелов) 14.05.09 10:24
(4) Лучше Татитуту, поверь.
6. Parazyte (Parazyte) 14.05.09 10:27
7. Юрий Тимофеев (Tatitutu) 14.05.09 10:59
8. Сhe Burashka (CheBurator) 14.05.09 12:24
Например: есть у меня прайс для клиентов с картинками - при сохранении штатно весит 37 мег, при пересохранении в экселе (без всяких сжать) - 3 мега...
...автору рекомендую посмотреть "проект Йоксель"
9. Юрий Тимофеев (Tatitutu) 14.05.09 12:50
(8) я об этом писал в описании. При программном просто пересохранение (в данном примере 800 кб вместо 24 мб, а если еще и картинки сжать то 400 кб)
Картинка картинке рознь (если это уже скриншоты с маленьким разрешением,то не очень сильно будет заметно сжатие, а если загрузишь фото с большим разрешение- то эфект интересный будет. Фотография в ориганиле 5 мб можно сохранить с размером 80 кб, а при печати на простом офисном принтере почти не заметно)
10. Юрий Тимофеев (Tatitutu) 14.05.09 12:57
(8) а ты попробуй свой прайс лист подставь в процедуру сжатие и сравни результат. Это обработка сделана как наглядный пример. Рабочая делает во первых групповую обработку офисных файлов (находит файл если есть картинки то сжимает и сохраняет). И также при отправке почты , формирование документации. В программе формируется техническая документация на модель (одновременно на нескольких языках) и в нее вставляется всякая дребедень - рисунки фурнитуры, тех.рисунки, отсканированные картинки, скан перевод, и.т.п. Один комплект бывает до 150 листов (и почти все они с картинками) моделей мнооооооого. Вот для этого и написал.
11. Сhe Burashka (CheBurator) 14.05.09 17:30
(9) Картинка картинке рознь (если это уже скриншоты с маленьким разрешением,то не очень сильно будет заметно сжатие,
- как раз наоборот! у меня в прайсе просто туча маленьких картинок с невысоким разрешением - и с 40 мег простыхм пересохранением ужимается до 3-4 мег. - объяснение смотри в проекте Йоксель
12. Юрий Тимофеев (Tatitutu) 14.05.09 17:45
(11) Я именно про это тебе и ответил.
У тебя уже "ужатые картинки" и эфект мало заметен.

Ситуювина такая. просто пример ничего более....время как обычо не хватает
предзаказ. Сфотографировали порядки 200 фоток (допустим) наш товар на моделях. Скинули на комп с фотоаппарата. Есть папка (300 метров - каждый файл около 1,5) нужно создать буклет для клиентов. Красивый и красочный.А времени нет....ну ты меня понимаешь, да. Обработка с "рыбой" чтобы картинку подогнать правильно, оформление,информация из справочника, картинка из каталога. Альбом в готовом виде - около 8 мб



В проекте Йоксель был - спасибо.
13. Сhe Burashka (CheBurator) 14.05.09 18:21
(12) ничего себе - мало заметен - в 10 раз. Дело не в ужатости картинок, а втом, как они сохраняются конвертором в эксель
14. Юрий Тимофеев (Tatitutu) 15.05.09 07:09
(13) мы с тобой говорим на "Разных языках" - ты пиаришь Йоксель, а я показал стандартные возможности работы MS EXCEL (по статистике мы пользуемся только 10% от его возможностей, как и нашим мозгом (с)) Чем больше вариантов и знаний у тебя есть по решению вопроса, тем больше возможностей.
15. Юрий (novj) 20.05.09 09:29
Да это круто, помню похожую задачу в 8.1 пришлось таки решать через Active Document...
16. Юрий Тимофеев (Tatitutu) 20.05.09 11:41
(15) посмотри код - он легко пойдет и на 8, так как используются возможности самого Офиса , а не 7
17. Юрий (novj) 20.05.09 12:24
Да, я вижу.
просто в свое время мне нужна была поддержка программера, и я выложил
подобную задачу на www.outsources.ru. Видимо мне просто не повезло.
чел с высоким рейтингом задавал столько вопросов что это превратилось в историю " не заебет так замучает".
18. Валерий Корженко (motogon) 20.05.09 19:12
(0) Хм, не знал, автору плюс!
19. Владимир Созанский (vsozansky) 09.07.09 20:34
Очень полезный подход. При формировании прайса в Excel с разными финтами (гиперссылками, группировками и пр.) добавить исполнение макроса, который не забывает конвертнуть все картинки в нужное разрешение и обрезать скрытое - думаю очень полезно.
Огромная благодарность и всяческие респеркты Автору!!!
21. Алексей Павлов (apvl) 13.07.09 10:19
22. (das) Афанасьева Светлана (das) 13.07.09 20:22
(8) +
но и эта работа вызывает интерес
23. Александр Цегельников (markers) 30.07.09 21:32
Идея интересная! Скоро как раз потребуется! Спасибо!
Tatitutu; +1 Ответить
24. nickVZ (nickVZ) 27.09.09 21:49
Как-то не приходилось сохранять отчеты с картинками в формате Ёкселя - предпочитаю PDF для таких целей...
Но идея имеет право быть. А если еще пользуются с пользой - тем более.

Только... хм... совсем не хочется обижать, но... нельзя ли не требовать комментарий? Я понимаю, если обидели "минусом", и уж не дай бог, кратко обозвали нехорошим словом и свинтили: хочется сатисфакции.
Но если просто скачали для "посмотреть"? Ну посмотрели, ну хорошо, но лично не актуально, запомним и отложим... Не вступая в дискуссию. Это плохо?
25. Борис (1B) 16.10.09 18:13
Это очень интересно. Но как можно сделать так, чтобы макрос, который записан в шаблоне можно было реализовать непосредственно в 1С, Тогда это будет идеальный вариант решения сжатия картинок вставляемых в Excel из 1С.
26. Евгений Писарев (pisarevEV) 23.10.09 10:23
прошу автора помочь реализовать все тоже самое, но не через макрос, я непосредственно в теле програмного модуля 1С. К сожалению не силен в VBA...
27. Николай Ронжин (nikolis) 25.11.09 12:16
:!:
Спасибо - очень полезная
Tatitutu; +1 Ответить
28. Юрий Тимофеев (Tatitutu) 25.11.09 12:37
извиняюсь перед (24,25,26) я не видел раньше Ваших комментариев (на почту не приходило)
я услышал Вас - попробую удовлетворить Вашу просьбу.
29. Anri (MegaMouse) 11.12.09 13:05
Все замечательно .
По поводу "АвтоПопрошайки" небольшое пожелание - Ссылку на обработку покорректнее писать : - http://infostart.ru/public/19977/) - без лишних кавычек и пр
30. Юрий Тимофеев (Tatitutu) 11.12.09 13:12
31. Сергей (kpk60) 16.12.09 11:23
Огромная благодарность автору.
32. Сергей Солнышкин (Myti) 16.12.09 17:09
Слушай-----а без макросов в документе можно обойтись......
33. Сергей Солнышкин (Myti) 16.12.09 17:10
Просто недавно делал такое (25) - запрка та еще была...но результат стоял того
34. Юрий Тимофеев (Tatitutu) 16.12.09 17:11
(32) Не понял вопроса ? если вообще без макросов - то руками можно (часто очень сильно помогает)
что нужно сделать ?
35. Юрий Тимофеев (Tatitutu) 16.12.09 17:14
посмотри две крайние работы, может сам и прикрутишь

http://infostart.ru/public/62751/
http://infostart.ru/public/62648/
36. Сергей Солнышкин (Myti) 16.12.09 17:28
(34) - я имел ввиду сжатие картинок средствами 1с через Excel.Application
37. Юрий Тимофеев (Tatitutu) 16.12.09 17:31
(36) в свое время я искал - перерыл кучу документации
но увы...не нашел - ни свойств, ни метотов этого окна сжатия
и "всемирный разум" молчит
38. Андрей (andru_dv) 26.12.09 23:12
Интересная обработка...
Tatitutu; +1 Ответить
39. Александр Алёхин (new_user) 06.01.10 15:59
Отличное решение задачи да ещё и на седьмой платфйорме за что отдельный плюс!!!
40. Aika (kerima) 27.01.10 07:30
Обработка очень помогла. Я ее переделала на 81. У нас прайс с большим количеством картинок. Единственно в 2007 офисе намного хуже сжимает картинки чем в 2003-м. Пэтому пришлось 2003 еще ставить. :D
41. Атанас Добрев (logon) 11.05.10 23:41
42. Дмитрий Никс (aximo) 02.10.12 21:40
Молодец, автоматизировал возможность сжатия