使用OpenXML将HTML插入Word

时间:2011-08-10 17:57:03

标签: xhtml openxml openxml-sdk

我在数据库中存储了一些HTML,我希望使用DocumentFormat.OpenXml将其插入到Word文档中。

受到文章here的启发,我尝试了以下代码。

mainPart.AddAlternativeFormatImportPart(AlternativeFormatImportPartType.Xhtml,
    String.Format("<html><body>{0}</body></html>", html));

但是这给了我以下错误。

  

'(我的HTML在这里)'ID不是有效的XSD ID

我真的不明白这个错误。有谁知道我做错了什么?

另外,我对这种方法的最大担心是HTML可能没有完美形成,我怀疑这些代码并不像浏览器那样宽容。对其他可能方法的任何建议?我正在考虑解析HTML并自己渲染,但这将是很多工作。

1 个答案:

答案 0 :(得分:2)

第二个参数是零件ID,而不是零件内容。

要设置部件内容,您需要将格式正确的XHTML放入返回的RootElement

AlternativeFormatImportPart属性中