我正在尝试使用 Microsoft 的 OpenXML 2.5 库来创建 OpenXML 文档。一切都很好,直到我尝试将 HTML 字符串插入到我的文档中。我已经搜索了网络,这是我到目前为止提出的内容(截断到我遇到问题的部分):
Paragraph paragraph = new Paragraph();
Run run = new Run();
string altChunkId = "id1";
AlternativeFormatImportPart chunk =
document.MainDocumentPart.AddAlternativeFormatImportPart(
AlternativeFormatImportPartType.Html, altChunkId);
chunk.FeedData(new MemoryStream(Encoding.UTF8.GetBytes(ioi.Text)));
AltChunk altChunk = new AltChunk { Id = altChunkId };
run.AppendChild(new Break());
paragraph.AppendChild(run);
body.AppendChild(paragraph);
显然,我实际上并没有在这个例子中添加 altChunk,但我已经尝试将它附加到任何地方 - 运行、段落、正文等。在任何情况下,我都无法在 Word 2010 中打开 docx 文件。
这让我有点疯狂,因为它看起来应该很简单(我承认我没有完全理解 AltChunk “东西”)。将不胜感激任何帮助。
旁注:我确实发现一件事很有趣,我不知道这是否真的是一个问题,这个响应说 AltChunk 在从 MemoryStream 工作时损坏了文件。任何人都可以确认这是/不是真的吗?