C# 使用OpenXML 2.5创建.docx会导致文件损坏
我正在尝试使用OpenXML 2.5 SDK创建一个文档,如下所述: 我的代码看起来与此相同,但当我尝试打开创建的.docx文件时 无法打开DocumentEx.docx文件,因为内容有问题 作为Microsoft Word中的一个错误 问题出在document.xml文件中,该文件类似于:C# 使用OpenXML 2.5创建.docx会导致文件损坏,c#,ms-word,openxml-sdk,corruption,C#,Ms Word,Openxml Sdk,Corruption,我正在尝试使用OpenXML 2.5 SDK创建一个文档,如下所述: 我的代码看起来与此相同,但当我尝试打开创建的.docx文件时 无法打开DocumentEx.docx文件,因为内容有问题 作为Microsoft Word中的一个错误 问题出在document.xml文件中,该文件类似于: <?xml version="1.0" encoding="utf-8"?> <w:document xmlns:w="http://schemas.openxmlfor
<?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>
你好,Word!
如果将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>
你好,Word!
文件将打开
如何使其不另存为已损坏?我从MSDN中提取的代码中出现这样的错误,我一定是遗漏了一些大的东西
我正在Visual Studio 2010中开发.NET Framework v 4.6 SP1,并尝试使用Microsoft Word 2010打开这些.docx文件
提前感谢。这可能是因为缺少许多标题。 下面的代码确实解决了这个问题。我用过office 2010
<w:document xmlns:ve="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:r="http://schemas.openxmlformats.org/officeDocument/2006/relationships" xmlns:m="http://schemas.openxmlformats.org/officeDocument/2006/math" xmlns:v="urn:schemas-microsoft-com:vml" xmlns:wp="http://schemas.openxmlformats.org/drawingml/2006/wordprocessingDrawing" xmlns:w10="urn:schemas-microsoft-com:office:word" xmlns:w="http://schemas.openxmlformats.org/wordprocessingml/2006/main" xmlns:wne="http://schemas.microsoft.com/office/word/2006/wordml">
<w:body>
<w:p>
<w:r>
<w:t>Hello , word</w:t>
</w:r>
</w:p>
<w:sectPr>
<w:pgSz w:w="12240" w:h="15840"/>
<w:pgMar w:top="1440" w:right="1440" w:bottom="1440" w:left="1440" w:header="708" w:footer="708" w:gutter="0"/>
<w:cols w:space="708"/>
<w:docGrid w:linePitch="360"/>
</w:sectPr>
</w:body>
</w:document>
你好,word
我的问题是,我添加的对象的命名空间不正确
我使用DocumentFormat.OpenXML.Drawing作为文本对象,而不是DocumentFormat.OpenXML.Wordprocessing。这没有正确地呈现文本,并导致了我的错误。drawingml似乎不太可能有,其结构与wordprocessingml相同。如何在Word文档中获得名称空间,共享代码?如果您是正确的。经过进一步调查,这是我的错误。我使用DocumentFormat.OpenXML.Drawing作为添加文本的名称空间,而不是DocumentFormat.OpenXML.Wordprocessing。非常感谢您的帮助。这是因为您可能错过了许多依赖的内容。请检查您的[content\u types].XML。问题是我正在尝试以后不必手动操作XML。我希望这个过程是程序化的。