C# 导出Word报”无法打开Office open xml文件。因为文件内容有错误“ 解决方法
2012-05-10 15:24
1246 查看
郁闷了一天终于搞定这个问题了,出现这个问题时候文件其实内容还是可以打开的,就是出现以上的错误原因。经过最终分析确定了具体原因,是因为在Response下载文档时候,最后需要结束
System.Web.HttpContext.Current.Response.End();否则默认为不完整下载状态。反正我加上去后就不出现以上情况了。具体代码如下:
System.Web.HttpContext.Current.Response.End();否则默认为不完整下载状态。反正我加上去后就不出现以上情况了。具体代码如下:
/// <summary> /// 下载文件 /// </summary> public void LoadPaperTemplate(string mStrFileName) { FileStream fs = null; BinaryReader br = null; BinaryWriter brnew = null; try { //给内容赋值 string path = System.Web.HttpContext.Current.Server.MapPath("~/Template"); string mStrFileRoot = string.Format("{0}\\{1}", path, mStrFileName); if (File.Exists(mStrFileRoot)) { fs = new System.IO.FileStream(mStrFileRoot, System.IO.FileMode.Open); br = new BinaryReader((Stream)fs); byte[] bytes = br.ReadBytes((Int32)fs.Length); brnew = new BinaryWriter(fs); brnew.Write(bytes, 0, bytes.Length); System.Web.HttpContext.Current.Response.Clear(); System.Web.HttpContext.Current.Response.Buffer = true; System.Web.HttpContext.Current.Response.Charset = "GB2312"; System.Web.HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode(mStrFileRoot.Substring(mStrFileRoot.LastIndexOf('\\') + 1))); System.Web.HttpContext.Current.Response.ContentEncoding = System.Text.Encoding.GetEncoding("utf-8"); System.Web.HttpContext.Current.Response.ContentType = "application/ms-word"; System.Web.HttpContext.Current.Response.BinaryWrite(bytes); System.Web.HttpContext.Current.Response.Flush(); System.Web.HttpContext.Current.Response.End(); } } catch (Exception) { //throw; } finally { br.Close(); brnew.Close(); fs.Close(); } }
相关文章推荐
- C# 导出Word报”无法打开Office open xml文件。因为文件内容有错误“ 解决方法
- java创建word打开后弹出无法打开office open xml文件....因为内容有错误提示
- word2007 -----无法打开Office OpenXML 文件《文件名》, 因为内容有错误。 .
- word2007 -----无法打开Office OpenXML 文件《文件名》, 因为内容有错误。
- C#技巧【调用线程无法访问此对象,因为另一个线程拥有该对象的问题的解决办法】【C#读写EXCEL源码提示“office检测到此文件存在一个问题。为帮助保护您的计算机,不能打开此文件”的解决】
- java freemarker 通过ftl模板文件导出word文件发现在有中文地方出现在乱码,打开word文件提示xml错误解决办法
- 关于项目文件导入打开报:无法识别元素 <Target> 中的属性“Returns”错误解决方法
- C#操作Word导致 “Microsoft.Office.Interop.Word.ApplicationClass”的 COM 组件错误的解决方法
- office2003无法打开word文档,一打开就显示错误的解决方法
- 【解决】Word 在试图打开文件时遇到错误 请尝试下列方法:* xxx * xxx * xxx
- WCF问题:“HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理”解决方法
- Win10系统无法打开Office 2007及Excel词典文件丢失的故障原因及解决方法
- PHPWord 导出模版Word文件,无法打开,提示xml pasring error
- word打不开,提示“很抱歉,无法打开...docx,因为内容有问题。”的解决----亲测,写的论文出现此问题打不开吓尿了
- Word2007“由于文件许可权错误,Word无法完成保存操作”问题的解决方法
- 网上下载的word文档提示在试图打开文件时遇到错误的解决方法
- “WORD文件无法打开,只能用安全模式打开”的解决方法
- 无法打开物理文件xxx.mdf操作系统错误 5:“5(拒绝访问。)” (Microsoft SQL Server,错误: 5120)的解决方法
- 【转】WIN7 64位系统 IIS7.5 下:HTTP 错误 404.17 - Not Found 请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方法
- C#操作FTP报错,远程服务器返回错误:(550)文件不可用(例如,未找到文件,无法访问文件)的解决方法