我创建了一个HTML表格,其中的图像跨越了几个单元格(第一部分),然后尝试将该图像导出为excel(第二部分(ExportReport方法))。我目前有两行显示图像,两者都可以在HTML表格中正常工作。注释掉的部分在导出到Excel时显示为红色X,未注释的输出行在Excel中显示图像,但图像是浮动的而不是粘合到Excel单元格中。
我想知道我缺少的是为了让图像在Excel导出中显示,同时将图像粘贴在单元格中(无法将其全部拖到报表上。)
//Create Table
Table tbl = new Table();
TableRow tr;
TableCell tc;
tc = new TableCell();
tr = new TableRow();
//tc.Text = "<center><imj src=\"images/logo_PROD.gif\" alt=\"Logo\" /></center>";
tc.Text = "<center><imj src=\"http://chwf1/portalsite/images/logo_PROD.gif\" alt=\"Logo\" /></center>";
tc.ColumnSpan = 3;
tr.Cells.Add(tc);
tbl.Rows.Add(tr);
//Export Table
public static void ExportReport(string fileName, Table table)
{
HttpContext.Current.Response.Clear();
HttpContext.Current.Response.AddHeader(
"content-disposition", string.Format("attachment; filename={0}", fileName));
HttpContext.Current.Response.ContentType = "application/ms-excel";
using (StringWriter sw = new StringWriter())
{
using (HtmlTextWriter htw = new HtmlTextWriter(sw))
{
table.RenderControl(htw);
HttpContext.Current.Response.Write(sw.ToString());
HttpContext.Current.Response.End();
}
}
}
答案 0 :(得分:0)
你可以用Excel Automation [1]做到这一点,或者你可以尝试第三方组件,比如Aspose(他们在托管代码中处理它而不使用Excel,我猜)或者你可以从你的HTML中删除图像代码。
[1] http://www.eggheadcafe.com/community/aspnet/2/8506/how-to-insert-a-picture-into-excel-using-c.aspx
你试过搜索SO吗?因为有很多这样的问题,只需查看相关问题