|
Картинки из Табличного Документа | ☑ | ||
|---|---|---|---|---|
|
0
tashi_ork
28.07.10
✎
14:54
|
Здравствуйте.
Подскажите, пожалуйста, решение следующей проблемы. Имеется табличный документ, в некоторых ячейках которого содержатся картинки. Каким образом можно получить картинку из ячейки(или сопоставить элементы коллекции картинок табличного документа соответствующим ячейкам), для последующей, работы с ними, например записи в хранилище значений? |
|||
|
1
Лефмихалыч
28.07.10
✎
14:56
|
ТабличныйДокумент.Рисунки (SpreadsheetDocument.Drawings)
ТабличныйДокумент (SpreadsheetDocument) Рисунки (Drawings) Использование: Только чтение. Описание: Тип: КоллекцияРисунковТабличногоДокумента. Содержит коллекцию рисунков табличного документа. Сериализуется. |
|||
|
2
tashi_ork
28.07.10
✎
15:03
|
Верно,и таким способом я получу список рисунков Табличного Документа, но сопоставить ячейку и рисунок из этого списка я не могу. Или я что-то неправильно делаю.
Объясните,пожалуйста. |
|||
|
3
Mitriy
28.07.10
✎
15:08
|
(2) цель какая?
|
|||
|
4
Лефмихалыч
28.07.10
✎
15:11
|
(3) возвижу - изображения товара из каталога поставщика в номенклатуру всосать. Или что-то вроде этого
|
|||
|
5
tashi_ork
28.07.10
✎
15:15
|
Абсолютно верно. Цель - заполнять справочник номенклатура из excel-файла прайса поставщика.
Одно из условий - должно загружаться изображение товара, содержащееся в одной из ячеек. Может у кого-то есть идеи? |
|||
|
6
Mitriy
28.07.10
✎
15:18
|
(5) а табличный документ тут каким боком?
|
|||
|
7
tashi_ork
28.07.10
✎
15:22
|
Продолбавшись с excel-файлом несколько дней, я Йокселем переконвертировал его в *.mxl, который гружу в табличный документ.
В принципе, мне все равно, откуда брать данные, если это возможно сделать и напрямую из excel, тоже сойдет. |
|||
|
8
Лефмихалыч
28.07.10
✎
15:28
|
(7) почему не получилось через ОЛЕ?
|
|||
|
9
tashi_ork
28.07.10
✎
15:31
|
Я не разобрался как из excel-файла получить картинки через Ole.
|
|||
|
10
tashi_ork
28.07.10
✎
15:55
|
А как получить картинку из ячейки экселя через Ole?
|
|||
|
11
Лефмихалыч
28.07.10
✎
16:05
|
картинки лежат в коллекции Shapes объектов Worksheet
|
|||
|
12
Лефмихалыч
28.07.10
✎
16:11
|
а вот какой-то лютый велосипед на тему того, как вытряхнуть картинку из экселя на винт:
http://xlvba.3.forumer.com/index.php?showtopic=207 |
|||
|
13
Лефмихалыч
28.07.10
✎
16:20
|
кстати, то ли голова моя не туда вставлена, то ли что, но я в экселе родных средств для экспорта вставленной картинки не нашел...
|
|||
|
14
tashi_ork
28.07.10
✎
16:20
|
Можетвсе-таки есть какой-то беспроблемный способ получить соответвие элемента коллекции картинок табличного документа и ячейки?
А то городить не хочется. |
|||
|
15
tashi_ork
28.07.10
✎
16:22
|
(13) Угу,я тоже. Табличный документ без проблем грузится, вместе с картинками, теперь бы еще к ним доступ получить.
|
|||
|
16
Лефмихалыч
28.07.10
✎
16:34
|
(14) нет способа для ТаблоичногоДокумента. Теперь я даже сомневаюсь в существовании способа для экселя...
|
|||
|
17
Лефмихалыч
28.07.10
✎
16:35
|
+(16) а у поставщика нет сайта с каталогом в гипертексте? ИМХО, может оказаться проще с сайта содрать это зал**пидрень...
|
|||
|
18
tashi_ork
28.07.10
✎
16:39
|
К сожалению, поставщик предоставил только прайс в виде экселевского файла и *.xml
файл в структуре которого я не смог разобраться(размер файла - 150 мб, распарсить не удается, вырезать кусок не удается, проанадизировать сторонними парсерами *.xml не удается)... Куда ни кинь,всюду клин. |
|||
|
19
Mitriy
28.07.10
✎
16:47
|
(18) можно попытать получать область табдока и проверять ее на сущесвование в ней рисунка... только, если хотя бы одна граница рисунка будет выходить за пределы полученной области, то коллекция Рисунки этой области будет пустой...
|
|||
|
20
tashi_ork
28.07.10
✎
16:56
|
(19)А можно пример?
|
|||
|
21
nbIx
28.07.10
✎
17:11
|
(0) Может я чего то не понимаю, но
Пробежаться по табличному документу. Методом ПолучитьОбласть получить область. У нее есть свойство рисунки, которая содержит рисунок. |
|||
|
22
Лефмихалыч
28.07.10
✎
17:18
|
(21) мля... и то верно, нельзя верить СП... Рисунки есть не только у табличногодокмента, но и области ячеек...
|
|||
|
23
Mitriy
28.07.10
✎
17:19
|
(22) гонишь... только у табдока...
|
|||
|
24
Mitriy
28.07.10
✎
17:21
|
(23)+ Область() <> ПолучитьОбласть()
|
|||
|
25
nbIx
28.07.10
✎
17:21
|
(23) ну так ПолучитьОбласть и вернет ТабличныйДокумент
|
|||
|
26
nbIx
28.07.10
✎
17:22
|
А что мешает использовать не Область() а ПолучитьОбласть()
|
|||
|
27
Лефмихалыч
28.07.10
✎
17:22
|
(23) http://screencast.com/t/MGUwMTRiODEt
может и гоню, но вот такая обработка почему-то сообщает "2"... |
|||
|
28
Mitriy
28.07.10
✎
17:22
|
(26) см (19)
|
|||
|
29
Лефмихалыч
28.07.10
✎
17:23
|
ну, точно, нормально всё с СП - это ж табдок!
|
|||
|
30
Mitriy
28.07.10
✎
17:23
|
(29) угу ))
|
|||
|
31
nbIx
28.07.10
✎
17:27
|
(28) так с чего ты взял, что граница выходит за пределы области?
|
|||
|
32
Лефмихалыч
28.07.10
✎
17:28
|
(31) имеется в виду, что "если вдруг с адресом не угадаешь"
|
|||
|
33
nbIx
28.07.10
✎
17:32
|
(32) Ну это понятно. Кстати, а если просто ко всему табдок обратиться как .рисунки
они наверняка будут по-порядку... |
|||
|
34
tashi_ork
28.07.10
✎
17:33
|
Аллилуйя, братцы, вроде понял!
Всем спасибо за помощь, щас накатаю код и сюда сброшу, чтобы другим было понятнее. |
|||
|
35
Mitriy
28.07.10
✎
17:34
|
Если ты получишь область (которая типа табдок), а рисунок вроде ячейки этого табдока накрывает, но чуть-чуть не помещается, то этот рисунок в этом полученном табдоке (вроде области) ты не увидишь...
|
|||
|
36
tashi_ork
28.07.10
✎
17:35
|
(35) Приму во внимание. Но так вроде прайс ровненько сделан, все картинки вмещаются в ячейки.
|
|||
|
37
nbIx
28.07.10
✎
17:36
|
Во. Токо щас посмотрел, если обратиться как табДок.Рисунки он имена рисунков по порядку присваивает как D1, D2...DN
|
|||
|
38
nbIx
28.07.10
✎
17:36
|
(37) т.е. бежишь по ячейкам и обращаешься последовательно к следующему рисунку.
|
|||
|
39
Mitriy
28.07.10
✎
17:37
|
(38) я так понял, автору контекст нужен, то бишь, грубо говоря, номенклатура, напротив которой этот рисунок находится...
|
|||
|
40
Mitriy
28.07.10
✎
17:38
|
(39)* а, ну да, я просто неправильно прочитал...
|
|||
|
41
nbIx
28.07.10
✎
17:41
|
Короче вопрос закрыт. Только не понятно как автор их экселя картинки в mxl перевел.
вручную что ли? |
|||
|
42
tashi_ork
28.07.10
✎
18:57
|
С помощью Йокселя произвел конвертацию.
|
|||
|
43
tashi_ork
29.07.10
✎
11:05
|
//Объект - новый элемент справочника номенклатура конфигурации УТ
ТабличныйДокумент = ЭлементыФормы.ТабличныйДокумент; Для СчетчикСтрок = 1 По ТабличныйДокумент.ВысотаТаблицы Цикл ОбластьИзображение = ТабличныйДокумент.ПолучитьОбласть(СчетчикСтрок,2);//Изображения хранятся во второй колонке Попытка//в ячейке может и не быть изображения Если ТипЗнч(ОбластьИзображение.Рисунки[0]) = Тип("РисунокТабличногоДокумента") Тогда //Тут здоровенный костыль, но не было времени разбираться ОбластьИзображение.Рисунки[0].Картинка.Записать(КаталогВременныхФайлов()+"tempimg.jpg"); ТМПКартинка = Новый Картинка(КаталогВременныхФайлов()+"tempimg.jpg"); ХранилищеКартинки = Новый ХранилищеЗначения(ТМПКартинка); УдалитьФайлы(КаталогВременныхФайлов()+"tempimg.jpg"); //Конец КОСТЫЛЯ ОбъектКартинка = Справочники.ХранилищеДополнительнойИнформации.СоздатьЭлемент(); ОбъектКартинка.Объект = Объект.Ссылка; ОбъектКартинка.ВидДанных = Перечисления.ВидыДополнительнойИнформацииОбъектов.Изображение; ОбъектКартинка.Наименование = Объект.Наименование; ОбъектКартинка.Хранилище = ХранилищеКартинки; ОбъектКартинка.Записать(); Объект.ОсновноеИзображение=ОбъектКартинка.Ссылка; Объект.Записать(); КонецЕсли; Исключение КонецПопытки; КонецЦикла; |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |