我想從HTML頁面創建word文檔。 我打算獲取HTML頁面上的值,然後將這些值傳遞給文檔模板。 我已經使用JSOUP解析HTML頁面的內容,並在我的java程序中獲取值。我現在想要將這些值傳遞給Word文檔模板。 我想知道什麼是我可以用來創建文檔模板的最佳技術,並將值傳遞給模板以創建word文檔。使用來自java對象的值動態地從模板創建word文檔
謝謝。
我想從HTML頁面創建word文檔。 我打算獲取HTML頁面上的值,然後將這些值傳遞給文檔模板。 我已經使用JSOUP解析HTML頁面的內容,並在我的java程序中獲取值。我現在想要將這些值傳遞給Word文檔模板。 我想知道什麼是我可以用來創建文檔模板的最佳技術,並將值傳遞給模板以創建word文檔。使用來自java對象的值動態地從模板創建word文檔
謝謝。
XSLT例子,我發現了一些非常有趣和簡單。我們只需要爲我們想要創建的文檔創建一個簡單的.xml模板,然後以編程方式更改xml文件的內容並將其保存爲ms word文檔。
您可以找到xml模板和代碼here。
我建議你使用xslt,因爲你的數據已經是xml格式,並且有來自Microsoft的定義好的xml格式。
您可以用word編寫文檔模板並將其保存爲xml格式。然後,您可以使用您的html-xml作爲輸入將word-xml轉換爲xsl-template。在xslt轉換之後,您有一個有效的word-xml,其中包含來自html-xml的動態值。爲Excel
<?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>
謝謝。我遇到了一個名爲[java2word](http://code.google.com/p/java2word/)的東西。你認爲這可能有幫助嗎? PS:我真的不知道xslt是如何工作的。我剛開始研究它。 – 2012-03-14 08:12:45
JODReports和Docmosis也可能是有用的選項,因爲有模板填充和文檔輸出。如果DOCX是您的真正目標,那麼您可以在XML發佈後自己寫出文檔 - 但這是很多工作。
Docmosis不是開源的,是嗎? – 2012-03-15 09:37:28
不看那樣。有一個免費版本,但是是專有的。 – 2012-03-15 09:53:25
是的。我正在尋找一些開源解決方案。 – 2012-03-16 06:58:44
雖然只是DOCX格式。如果您使用的是最新版本的Word,那就太好了。 – 2012-03-15 09:55:39
我能夠創建一個.doc文件。我首先創建了一個包含動態值的temperory xml。然後,我使用HTTPServletResponse的response.setContentType()和response.setHeader()函數將此temp xml轉換爲.doc。我希望文檔一旦創建就可以下載。 – 2012-10-18 05:27:13