вставка изображения в лист excel не работает

Я пытаюсь вставить изображение в лист excel, как показано ниже.

Image img = Image.FromFile("test.jpg");
sheet.get_Range("A1").set_Item(1,1,img);

но когда excel открывается в ячейке A1 нет ни одной картинки,
а есть только такой результат:System.Drawing.Bitmap
Так в чем проблема, как ее решить. И второй вопрос:
как вставить в excel, если мои картинки находятся в базе данных. и я не хочу сохранять их на компьютер для вставки в Excel? [Винформа]


person namco    schedule 25.08.2012    source источник


Ответы (2)


person    schedule
comment
что делать, если мое изображение находится в базе данных, и я не хочу сохранять это изображение на жесткий диск. как я могу вставить изображение в excel напрямую, не сохраняя его? - person namco; 25.08.2012
comment
привет, вы пробовали это с изображением на жестком диске? - person Hassan Boutougha; 25.08.2012
comment
см. ProcessRequest в этой статье codeproject.com/Articles /33310/ - person Hassan Boutougha; 25.08.2012
comment
да, я пробовал, и работает, но у меня более 500 картинок в таблице. я не хочу каждый раз сохранять их на компьютер и после этого вставлять в excel. - person namco; 25.08.2012
comment
Итак, на первый вопрос был дан ответ (спасибо, что отметили его). для второго вопроса вы получите поток из базы данных (см. url codeproject) и загрузите этот поток в изображение (Image.FromStream) - person Hassan Boutougha; 25.08.2012
comment
Мне очень-очень жаль, мистер Хассан. Не могли бы вы показать это на коде, пожалуйста? - person namco; 25.08.2012
comment
@namco Пожалуйста, разделите ваши вопросы. И поместите сообщения об ошибках в ответ, где вы их получите... - person Jeremy Thompson; 26.08.2012

person    schedule
comment
спасибо, я знаю, как преобразовать байтовый поток в изображение, но я хочу знать, как вставить это изображение в Excel, не сохраняя его на компьютер. Не могли бы вы показать мне этот код, пожалуйста? - person namco; 25.08.2012
comment
Я написал ваш код, но он выдает ошибку: «Microsoft.Office.Interop.Excel._Worksheet.Pictures (объект)» — это «метод», который недействителен в данном контексте. - person namco; 25.08.2012
comment
Ребята, это вопрос-хамелеон, и этот ответ не имеет ничего общего с конкретным вопросом. - person Jeremy Thompson; 26.08.2012
comment
Я согласен с вами, поэтому поблагодарите namco, чтобы задать другой вопрос, я перенесу этот ответ в него. Спасибо за этот вопрос, чтобы отметить мой ответ как ОК, потому что namco вы сказали, что да, я пытался, и работает - person Hassan Boutougha; 26.08.2012
comment
Да работает, когда изображения хранятся на компьютере. Хорошо. Но я сказал, что не хочу сохранять изображения на компьютер. Я хочу выбрать изображения из базы данных и вставить их в рабочий лист Excel, не сохраняя их на компьютер каждый раз. - person namco; 26.08.2012
comment
я понимаю, но это второй вопрос ... ваш вопрос заключался в том, чтобы вставить изображение в лист Excel, не работает - person Hassan Boutougha; 26.08.2012
comment
если кто-то ищет ответ, он / она будет искать по заголовку, и второй вопрос, который вы хотите, будет заключаться в том, как получить изображение excel из потока - person Hassan Boutougha; 26.08.2012
comment
Хорошо, ты прав. Мне очень жаль, мистер Хассан. я изменил тело вопроса. Не могли бы вы ответить на мой второй вопрос, пожалуйста? - person namco; 27.08.2012