以下是代码。我们需要做些什么改变。
HttpContext context = HttpContext.Current;
context.Response.Clear();
context.Response.AppendHeader("content-disposition", "attachment;filename=" + strFileName + ".docx");
context.Response.Charset = "";
context.Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document";
var stringWriter = new StringWriter();
stringWriter.Write(strContent);
var htmlWriter = new HtmlTextWriter(stringWriter);
System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(stringWriter);
HttpContext.Current.Response.Write(oHtmlTextWriter);
context.Response.Write(stringWriter.ToString());
context.Response.End();
答案 0 :(得分:1)
您不能简单地写出HTML,为其提供.docx文件扩展名,并期望Word正确打开该文档。 .docx文件需要是一个有效的Office Open XML包,它基本上是一个包含各种XML文件的zip容器(您可以通过将.docx文档重命名为.zip然后使用标准zip工具打开它来轻松看到它)。
您现在可以采取哪些措施来解决问题并获取有效的Word文件: