jacob调用Excel中的宏

来源:互联网 发布:骷髅面具淘宝 编辑:程序博客网 时间:2024/05/20 23:30

项目中有个需求要用java代码执行Excel中的宏,之前一般的处理都用poi,但调用宏的时候经了解发现无法胜任。通过网上查找资料,最后用jacob得以解决。代码如下:


public static void executeMacro(String filePath, String macroName) {Dispatch documents = null;try {ActiveXComponent excel = new ActiveXComponent("Excel.Application");documents = excel.getProperty("Workbooks").toDispatch();Dispatch.call(documents, "Open", filePath).toDispatch();//打开文档Dispatch.call(excel, "Run", new Variant(macroName));System.out.println("执行完毕");} finally {System.out.println("关闭文档");Dispatch.call(documents, "Close");}}
//调用public static void main(String[] args) {String file = "D:\\test\\测试1.xls";String macName = "宏1";executeMacro(file, macName);}


大家最好尽可能保证dll文件和jar包的版本是一致的,如果你出现了异常,那么请检查你jacob.dll的版本和jar的版本是否一致。

因为网上找到的全是调用word中的宏,这里上传一份excel的代码。调用word中的宏的不再赘述。

0 0
原创粉丝点击