输出网页为DOCX?

时间:2015-05-05 19:11:57

标签: docx

过去,如果我希望网页显示为.DOC word文档,我可以在页面加载中执行此操作:

    Response.AddHeader("content-disposition", "attachment;filename=FullDetail.doc")
    Response.ContentType = "application/vnd.word"

我希望通过以下方式将网页输出为.DOCX:

    Response.AddHeader("content-disposition", "attachment;filename=FullDetail.docx")
    Response.ContentType = "application/vnd.openxmlformats-officedocument.wordprocessingml.document"

但它不起作用。我收到一个错误:

无法打开文件FullDetail.docx,因为内容存在问题。该文件已损坏,无法打开。

两个文件的内容看起来非常相似 - 只是一个HTML页面。

                HR全面详细报告 等...

.doc打开正常。 .docx没有。如果我将.docx重命名为.doc,它在Word 2010中打开正常。有什么建议吗? 

谢谢! 布拉德

1 个答案:

答案 0 :(得分:1)

docx文件实际上是一个包含其他几个文件的zip文件。例如,创建一个新的MS Word文档,将文本" Hello world"在其中并保存它(example.docx)。然后将docx文件重命名为" example.zip"并打开它。您将看到内容比您预期的要复杂得多。

大多数人发现生成Word XML文件(https://msdn.microsoft.com/en-us/library/bb266220(v=office.12).aspx)或使用API​​生成真实的docx文件(例如:http://docx.codeplex.com/)要容易得多。