我想从 HTML 页面创建一个 word 文档。我打算获取 HTML 页面上的值,然后将这些值传递给文档模板。我使用JSOUP来解析 HTML 页面的内容,并在我的 java 程序中获取值。我现在想将这些值传递给 word 文档模板。我想知道可以用来创建文档模板并将值传递给模板以创建 word 文档的最佳技术是什么。
谢谢你。
我发现了一些非常有趣和简单的东西。我们只需为要创建的文档创建一个简单的 .xml 模板,然后以编程方式更改 xml 文件的内容并将其保存为 ms word 文档。
您可以在此处找到 xml 模板和代码。
我建议您使用 xslt,因为您的数据已经是 xml 格式,并且有来自 microsoft 的明确定义的 xml 格式。
您可以使用 word 编写文档模板并将其保存为 xml 格式。然后,您可以将 word-xml 转换为 xsl 模板,并将您的 html-xml 作为输入。在 xslt 转换之后,您将拥有一个有效的 word-xml,其中包含来自 html-xml 的动态值。
Excel 的 XSLT 示例
<?xml version="1.0" encoding="UTF-8" ?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" encoding="UTF-8" omit-xml-declaration="no" />
<xsl:template match="/">
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:o="urn:schemas-microsoft-com:office:office"
xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet"
xmlns:html="http://www.w3.org/TR/REC-html40">
...
<xsl:for-each
select="/yourroot/person">
...
<Cell ss:StyleID="uf">
<Data ss:Type="String">
<xsl:value-of
select="@Name" />
</Data>
</Cell>
..
</xsl:for-each>
...
</xsl:template>
</xsl:stylesheet>
JODReports和Docmosis也可能对您有用,因为有模板填充和 Doc 输出。如果 DOCX 是您的真正目标,那么您可以自己编写文档,因为 XML 已发布 - 但这是很多工作。