Рендеринг Excel из браузера - PullRequest
1 голос
/ 14 ноября 2008

У меня есть контент, который мне нужно отобразить в виде файла Excel в браузере. Мне удалось визуализировать содержимое сетки, чтобы преуспеть с помощью приведенного ниже кода.

  Response.Clear();
  Response.AddHeader("content-disposition", "attachment;filename=FileName.xls");
  Response.Charset = "";
  Response.ContentType = "application/vnd.xls";
  System.IO.StringWriter stringWrite = new System.IO.StringWriter();
  System.Web.UI.HtmlTextWriter htmlWrite =
  new HtmlTextWriter(stringWrite);
  GridView1.RenderControl(htmlWrite);
  htmlWrite.Write(stringWrite);
  Response.Write(stringWrite.ToString());
  Response.End();

Теперь я должен сделать аналогичную вещь для изображения. То есть я хочу код, который может сделать изображение лучше.

Я имею в виду, что когда пользователь открывает Excel, он должен видеть изображение в нем.

Можно ли преобразовать изображение в формат base64sting и поместить его в Excel?

Пожалуйста, дайте мне знать, если у вас есть идеи, подобные этому.

Спасибо Винод Т.

Ответы [ 5 ]

2 голосов
/ 14 ноября 2008

Я использую такие же хаки для получения данных сетки (с тегами html) в excel.

Если вы пишете HTML-данные, просто добавьте image into the HTML text where you want the images.

What will happen, is that Excel will ask your server (asp.net app) for that file.

You might have to add a full path to the image image

Using a packet sniffer, I have verified that Excel in deed will ask for the IMG file, so just make sure you have placed the image ready for download. (either as an asp.net stream) or physically.

My test HTML.

testtest
testtesttest
testtestimage

Если ТОЛЬКО изображение, то же самое, что и поверх, только без табличных тегов. Только тег HTML и IMG.

0 голосов
/ 15 декабря 2008

Я использую эту библиотеку для xls-output: CarlogAG Excel Writer

0 голосов
/ 15 декабря 2008

Взгляните на http://www.codeplex.com/OpenXMLViewer. Возможно, это поможет вам.

0 голосов
/ 17 ноября 2008

Документы Office 2007 (Word, PowerPoint и Excel) основаны на форматах OpenXML. Это просто zip-файлы с кучей XML и бинарных частей (например, изображений) внутри. Вы можете создать их с помощью любого из классов XML в Framework, а затем соединить их вместе с API упаковки (System.IO.Packaging в WindowsBase.dll).

Подробнее см. В OpenXMLDeveloper.org.

0 голосов
/ 14 ноября 2008

О. Другим более сложным способом было бы создать файл .MHT (веб-архив). Они содержат как HTML, так и изображения, встроенные в один файл. Таким образом, у вас есть только один поток. Но я не знаю, распознает ли Excel содержимое MHT и покажет его.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...