2012-07-24 37 views
1

我的問題:使用Apache POI在模板文件中複製宏?

我有兩個工作簿。

Workbook1:從模板文件,宏

Workbook2構造:空

在循環中導出我的數據結構。在每一個循環中,我將模板複製到wokrbook2中,然後在其中寫入數據,標記我下一個循環傳遞的行,然後再次執行相同的操作。

最後,我已經將模板複製到工作簿2並將數據寫入相應的模板中多次(與數據集一樣多次)。

我的問題:原始模板文件中有一個宏,當我打開新創建的文件時不見了。所有數據都被正確寫入,只是缺少宏功能。

+0

你爲什麼不打開工作簿複印件1份,這些,與真實值替換模板值,並保存? – Gagravarr 2012-07-24 13:36:33

+1

問題解決了,也許不合邏輯,但它的工作原理。 我首先將模板複製到新的工作簿中,然後遍歷所有行並將其扔掉。結果是一張空白表,但宏仍然存在。 然後,我成功地從模板工作簿複製模板行,並每次填充這些數據。 (在循環中) – dutchman79 2012-07-24 13:54:20

回答

0

我不知道其他的解決方案,但有Apache的POI的一個限制是: Macros can not be created. However, reading and re-writing files containing macros will safely preserve the macros.

檢查documentation

+0

問題解決。 – dutchman79 2012-07-24 13:50:26

+0

將它作爲答案發布,無論你做了什麼。這對其他人會有所幫助 – 2012-07-24 13:54:26

+0

我把它作爲評論發佈到我上面的原始問題上。 – dutchman79 2012-07-25 07:17:28

0

問題解決了,也許unlogical但它的作品。

我首先將模板複製到新的工作簿中,然後迭代所有行並將其扔掉。結果是一張空白表,但宏仍然存在。

然後我從模板工作簿複製模板行和填充數據每次