Kyl*_*yle 3 c# ms-word corruption openxml-sdk
我正在尝试使用 OpenXML 2.5 SDK 创建一个文档,详细信息如下:
https://msdn.microsoft.com/en-us/library/documentformat.openxml.wordprocessing.document.aspx
我的代码看起来与此相同,但是当我尝试打开创建的 .docx 文件时,我得到
无法打开文件 DocumentEx.docx,因为内容有问题。
作为 Microsoft Word 中的错误
问题出在 document.xml 文件中,如下所示:
<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<a:p xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main">
<a:r>
<a:t>Hello, Word!</a:t>
</a:r>
</a:p>
</w:body>
</w:document>
Run Code Online (Sandbox Code Playgroud)
如果我将 XML 更改为:
<?xml version="1.0" encoding="utf-8"?>
<w:document xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main">
<w:body>
<w:p>
<w:r>
<w:t>Hello, Word!</w:t>
</w:r>
</w:p>
</w:body>
</w:document>
Run Code Online (Sandbox Code Playgroud)
文件将打开。
我怎样才能使它不保存为损坏的?我一定是错过了一些大的东西,才会从 MSDN 中提取的代码中出现这样的错误。
我正在 Visual Studio 2010、.NET Framework v 4.6 SP1 中进行开发,并尝试使用 Microsoft Word 2010 打开这些 .docx 文件。
先感谢您。
我的问题是我添加的对象的命名空间不正确。
我使用 DocumentFormat.OpenXML.Drawing 作为我的 Text 对象,而不是 DocumentFormat.OpenXML.Wordprocessing。这没有正确渲染文本并导致我的错误。