|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
|
Опции темы | Поиск в этой теме |
02.02.2018, 10:29 | #1 |
Регистрация: 02.02.2018
Сообщений: 8
|
выгрузка картинок из файла excel
добрый день
стоит задача выгружать картинки из экселевских файлов. в одном файле от 50 до 350 картинок, самих файлов количество тоже идет к сотне, по одной картинке выковыривать тупой работы очень много. на просторах сети нашел макрос который позволяет выгружать все картинки из файла и что славно приссваивает им имена из соседних ячеек (т.е. можно не только порядковые номера получить что важно, но и например названия артикулов), но есть одна беда - качество картинок в папке плохое. пытался альтернативными методами выковыривать картинки (сохранять как веб-страницу, открывать как архив) но и там качество подубитое. обнаружил что excel в отличии от openoffica сжимает изображения и даже отключение этой функции не помогает. а найти аналогичный макрос для OO не удалось, а сам я не программист ни разу. может кто сможет подсказать как бороться со сжатием изображений в экселевских файлах? |
02.02.2018, 11:02 | #2 | |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Цитата:
если Вы сохраняете тогда качество нормальное? если нет, то тогда о чём речь? Если картинки хранятся внутри в плохом виде, то никакой макрос чуда не сделает и качество не улучшит. Это из хорошего качества можно сделать плохое, а наоборот, к сожалению, нельзя! |
|
02.02.2018, 11:22 | #3 |
Регистрация: 02.02.2018
Сообщений: 8
|
если по одной вынимать, то качество нормальное. копировать, вставить в графический редактор - сохранить. т.е. те картинки которые в экселевском файле они в хорошем качестве, но если этот же экселевский файл открыть как архив и доставать картинки они будут в среднем качестве (не так плохо как от скрипта, но и не так хорошо как должно быть), а если сохранить скриптом то качество будет вообще отвратительное.
я немного поэксперементировал и сохранил таблицу в ods, открыл ее как архив извлек картинки и они в превосходном качестве. теперь единственная проблема как присвоить им имена в соответствии с их ячейками. новый ods файл даже получился -чутьчуть меньше чем xlsx, но картинки в хорошем качестве. что меня убеждает в том что проблемы скачеством это специфика excel |
02.02.2018, 11:24 | #4 |
Регистрация: 02.02.2018
Сообщений: 8
|
может подкрепить примеры получившихся картинок для наглядности?
|
02.02.2018, 11:36 | #5 |
Регистрация: 02.02.2018
Сообщений: 8
|
прилагаю картинки.
в экселе нашел в настройках отключение сжатия для конкретных файлов и теперь если как из архива вынимаются в нормальном качестве, но макросу это не помогло. еще немного поэкспериментировав заметил что если растянуть картинку в экселе внутри ячейки то скрипт сохранит в более высоком разрешении. получается он делакт как бы серию минискриншотов - насколько картинка увеличена настолько и качественный результат. значит теперь нужен макрос на то чтобы увеличить все картинки в файле и соответственно ячейки в которых они сидят. и нужен будет третий макрос который будет запускать предыдущие два) |
02.02.2018, 11:37 | #6 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
|
02.02.2018, 11:40 | #7 |
Регистрация: 02.02.2018
Сообщений: 8
|
оставил в файле минимум информации, мало ли где там коммерческая тайна начинается, прилагаю
макрос в первом посте прикреплен |
02.02.2018, 17:58 | #8 |
Старожил
Регистрация: 09.01.2008
Сообщений: 26,229
|
Ужасно КРИВОЙ код.
на тестовом примере вроде как работает. Картинки сохраняет в папку "D:\PICTURES\" (см. в код) ВНИМАНИЕ! В процессе работы похабит картинки на листе (изменяет им размер). поэтому файл после работы макроса сохранять НЕ РЕКОМЕНДУЕТСЯ!! А лучше вообще с копией запускать. макрос: Код:
|
04.02.2018, 10:09 | #9 |
Форумчанин
Регистрация: 29.08.2012
Сообщений: 209
|
Я извлекаю картинки без макросов.
1. Открыть файл. 2. Сохранить как "Веб-страница(*.htm;*.html) 3. В папке с файлом появится папка, в которой сохранились все картинки.
Алексей М.
|
05.02.2018, 05:05 | #10 |
Регистрация: 02.02.2018
Сообщений: 8
|
Serge_Bliznykov
огромное Вам, человеческое, спасибо! вроде все работает буду тестить на других файлах 2 AlexM12 я пробовал так делать но во-первых тоже херится качество картинок во-вторых в папке появляются как превьюшки так и сами картинки отобрать нужное отфильтровав по размеру например не всегда удается, в 10% случаев приходится потом вручную сверять с исходным файлом, экологичнее уж открыть как архив файл xlsx в-третьих это порядочно возни еще пробовал сохранять как веб-страницу ods, но тогда картинкам присваиваются рандомные имена и сверять их с исходным файлом приходится опять вручную |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Выгрузка из MySQL в Excel (некорректный файл Excel) | Maxx | PHP | 4 | 16.09.2015 00:07 |
SQLServer загрузка/выгрузка картинок и файлов | Lutyi | БД в Delphi | 2 | 12.02.2014 14:37 |
Выгрузка в Excel | city32 | Общие вопросы Delphi | 2 | 18.10.2012 15:58 |
Выгрузка из БД в Excel | fenetka | Microsoft Office Excel | 6 | 20.10.2011 09:06 |
Выгрузка картинок в проект | Rusl92 | Общие вопросы Delphi | 2 | 20.08.2008 23:00 |