【发布时间】:2016-03-24 05:09:08
【问题描述】:
我有一个包含一些图像的数据表,我正在尝试将该数据表导出到 excel 或 word,使用下面的代码它不会导出图像,如何导出带有图像的数据表?
Response.Clear();
Response.Buffer = true;
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.AddHeader("content-disposition", "attachment;filename=GridViewExport.docx");
Response.ContentEncoding = System.Text.Encoding.UTF8;
Response.Charset = "";
Response.ContentType = "application/ms-word ";
StringWriter sw = new StringWriter();
HtmlTextWriter hw = new HtmlTextWriter(sw);
string str1 = string.Empty;
foreach (DataColumn dtcol in dt2.Columns)
{
Response.Write(str1 + dtcol.ColumnName);
str1 = "\t";
}
Response.Write("\n");
foreach (DataRow dr1 in dt2.Rows)
{
str1 = "";
for (int j = 0; j < dt2.Columns.Count; j++)
{
Response.Write(str1 + Convert.ToString(dr1[j]));
str1 = "\t";
}
Response.Write("\n");
}
Response.ContentEncoding = System.Text.Encoding.Unicode;
Response.BinaryWrite(System.Text.Encoding.Unicode.GetPreamble());
Response.Output.Write(sw.ToString());
Response.Flush();
Response.End();
【问题讨论】:
-
我假设 dt2 在这里是数据表。此外,您只想导出文件路径,或者想在导出中显示图像。如果要在导出的文件中显示图像,请使用gridview,将所有数据与图像绑定。并尝试导出网格的内容。你会得到图像。
-
您好 -Piyush,我正在使用 gridvew 获取导出文件中的图像。但这里我只想要数据表。
-
嗯,直接从数据库中,你只会得到文件路径。这意味着没有实际的图像标签,只有图像源。如果要获取实际图像,则应设置带有图像源的图像标签。
-
- Piyush ..你能参考任何链接吗?
-
我的意思是说它不可能直接从数据库中显示图像。您应该改为使用 gridview,并将其导出到 word。
标签: c# asp.net excel datatable