asp.net导出Word:点击导出按钮页面变成空白,也无Word生成

靠技术搞事的程序媛 2020-05-13 10:00:23
一个根据文档模板格式填充数据后在生成Word文档下载
public Boolean ExportCustomsDocumentObject(Page page, string filename, out string errormsg)
{
Boolean writeOk = true;
byte[] allbytes = null;
try
{
string fileName =
HttpContext.Current.Server.MapPath("~/App_Code/WebApiService/xxxTemplate.docx");
allbytes = OutCountrySituationDocumentEngine.GetOutCountrySituationDocumentObjectBytes(fileName,
int.Parse(cmdYear.SelectedValue), int.Parse(cmdQuarter.SelectedValue));
Response.ClearHeaders();
Response.ClearContent();
Response.AppendHeader("content-disposition",
"attachment; filename=" + HttpUtility.UrlEncode(filename, Encoding.UTF8));
Response.ContentType = "application/ms-word";
Response.BinaryWrite(allbytes);
Response.End();
}
catch (Exception e)
{

}

errormsg = "";
return writeOk;
}
问题描述:
在vs中可以正常的运行且生成了Excel文件并可以下载。
部署到iis后,点击输出按钮,页面变成空白(其他页面都正常)。
...全文
307 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
引用 2 楼 fangma2001的回复:
Page.Response.Clear()
Response.Expires = 0
Response.Buffer = True
Page.Response.AddHeader("Content-Type", "application/msword")


Page.Response.AddHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode(spath2))
Page.Response.WriteFile(spath2)

Page.Response.End()
我解决了,谢谢
fangma2001 2020-06-10
  • 打赏
  • 举报
回复
上面的代码可正常运行
fangma2001 2020-06-10
  • 打赏
  • 举报
回复
Page.Response.Clear()
Response.Expires = 0
Response.Buffer = True
Page.Response.AddHeader("Content-Type", "application/msword")


Page.Response.AddHeader("Content-Disposition", "attachment;filename=" & Server.UrlEncode(spath2))
Page.Response.WriteFile(spath2)

Page.Response.End()
EdsionWang 2020-05-26
  • 打赏
  • 举报
回复
加点日志看看allbytes是否获取到值了(VS上正常,应该就正常了)。 OutCountrySituationDocumentEngine.GetOutCountrySituationDocumentObjectBytes 这个封装方法里面是否调用了Office组件,如果有的话服务器上也要安装相应版本Office

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧