【问题标题】:Excel file not opening after completion of download?Excel文件下载完成后打不开?
【发布时间】:2015-07-14 20:47:41
【问题描述】:

通过使用下面的代码,我已将数据表导出到 excel 中。

Response.ClearContent();
Response.Write(@"<!DOCTYPE HTML PUBLIC ""-//W3C//DTD HTML 4.0 Transitional//EN"">");
Response.AddHeader("content-disposition", attachment);
Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
Response.Charset = "utf-8";
string tab = string.Empty;

Response.Write("<font style='font-size:11.0pt; font-family:Calibri;'>");

Response.Write("<BR><BR><BR>");

Response.Write("<Table border='1' bgColor='#ffffff' borderColor='#000000' cellSpacing='0' cellPadding='0' style='font-size:11.0pt; font-family:Calibri; background:white;'> <TR>");

foreach (DataColumn datacol in dt.Columns)
{
    Response.Write("<Td style = "+"\"width:120px;\""+">");
    Response.Write("<B>");
    Response.Write(tab + datacol.ColumnName);
    Response.Write("</B>");
    Response.Write("</Td>");
}
Response.Write("</TR>");

foreach (DataRow dr in dt.Rows)
{
    Response.Write("<TR>");
    for (int j = 0; j < dt.Columns.Count; j++)
    {
        Response.Write("<Td>");
        Response.Write(tab + Convert.ToString(dr[j]));
        Response.Write("</Td>");
    }

    Response.Write("</TR>");
}
HttpContext.Current.Response.Write("</Table>");
Response.Write("</font>");
Response.Flush();
Response.End();

当我尝试打开下载的 excel 文件时,它显示以下消息

是我的代码中需要的任何更改。你能帮帮忙吗?

谢谢,普纳

【问题讨论】:

  • 请注意,浏览器的设置允许客户端确定是否自动打开某种类型的文件。这些设置不能被标记覆盖。

标签: c# excel


【解决方案1】:

问题与文件格式有关,所以我可以找到 VBA 中的解决方案(只是明确地写出输出格式)

response.headers['Content-Disposition'] = 'attachment; filename=text1.xlsx'

在您的代码中,您必须更改以下行,同时明确指出输出格式 .xlsx:

Response.AddHeader("content-disposition", attachment);

【讨论】:

  • 嗨,感谢重播,我已经按照你的建议更改了我的代码,然后我也遇到了同样的问题。
  • 我会努力寻找更多关于这个问题的信息!
【解决方案2】:

问题与文件格式有关。试试下面的代码,它可以工作

Response.AddHeader("content-disposition", "attachment;  filename=EmpDetails.xls");

而不是

Response.AddHeader("content-disposition", attachment);

【讨论】:

    猜你喜欢
    • 2014-06-06
    • 1970-01-01
    • 2017-08-23
    • 2016-02-25
    • 1970-01-01
    • 1970-01-01
    • 2014-05-13
    • 2013-10-17
    • 1970-01-01
    相关资源
    最近更新 更多