从浏览器渲染Excel

我有一些内容需要在浏览器中显示为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?

请让我知道,如果你有任何类似的想法。

感谢Vinod T.

我一直在使用相同types的黑客来获取网格数据(HTML标记)为Excel。

如果是您正在编写的HTML数据,只需将<IMG SRC =“MYFILENAME.JPG>添加到您想要图像的HTML文本中即可。

会发生什么,是Excel会问你的服务器(asp.net应用程序)的文件。

您可能需要为图像添加完整path<IMG SRC =“http://myserver/subpath/MYFILENAME.JPG>

使用数据包嗅探器,我已经证实,Excel中的行为将要求IMG文件,所以只要确保您已经准备好下载图像。 (作为一个asp.netstream)或物理。

我的testingHTML。
<HTML>
<表>
<TR> <TD>testing</ TD> <TD>testing</ TD <TD>testing</ TD> </ TR>
<TR> <TD>testing</ TD> <TD>testing</ TD> <TD>testing</ TD> </ TR>
<tr> <td> test </ td> <td> test </ td> <td> <img src =“http://myserver/LALLAALLAA.jpg”> </ td> </ tr>
</ TABLE>
</ HTML>

如果只有图片,它就跟只有没有表格标签一样。 只是HTML和IMG标签。

哦。 另一个更复杂的方法是创build一个.MHT文件(webarchive)文件。 包含embedded在同一个文件中的HTML和图像。 这样你只有一个stream出。 但是我不知道Excel是否会识别MHT内容并显示它。

Office 2007文档(Word,PowerPoint和Excel)基于OpenXML格式。 他们只是一些XML和二进制部分(如图像)里面的zip文件。 您可以使用Framework中的任何XML类创build它们,然后使用Packaging API(WindowsBase.dll中的System.IO.Packaging)将它们组合在一起。

查看OpenXMLDeveloper.org了解详细信息。

看看http://www.codeplex.com/OpenXMLViewer 。 也许这可以帮助你。

我使用这个库xls输出: CarlogAG Excel作家