如何从Java代码调用Excel VBA宏?
问题内容:
我需要根据通过Java从数据库中获取的数据生成Excel工作表。为此,我需要在生成Excel时调用一些VBA宏函数。有人可以帮助我如何从Java代码调用VBA宏吗?
问题答案:
我不太了解您从数据库中的数据生成Excel工作表的总体方法。通常,我会使用Vivek提出的Apache POI。
但是,如果您确实需要在工作表中调用Excel宏,则需要做两件事:
首先,您需要一个JAVA-COM桥,例如JACOB,COM4J或类似的工具。如果它支持自动化接口就足够了。它不需要完全的COM支持。
其次,使用JAVA-to-COM桥,您应该启动Excel,加载Excel工作表,运行宏,保存并关闭Excel。因此,您必须调用以下等效项:
Set Wb = Application.Workbooks.Open FileName
Application.Run MacroName
Wb.Save
Application.Quit