架包下载:http://download.youkuaiyun.com/detail/javashixiaofei/9696752
设置
64位电脑:将jacob-1.17-M2-x64.dll放到项目使用的jdk的bin目录下,将jacob.jar放到项目的lib下
若运行时出现java.lang.NoClassDefFoundError: Could not initialize class com.jacob.com.ComThread错误,将jacob-1.17-M2-x64.dll放到项目使用的jdk的jre/bin目录下再重启服务
工具类
package com.hikvision.service.quote.util;
import com.jacob.activeX.ActiveXComponent;
import com.jacob.com.ComThread;
import com.jacob.com.Dispatch;
import com.jacob.com.Variant;
public class JacobExcelTool {
private ActiveXComponent xl = null; // Excel对象
private Dispatch workbooks = null; // 工作簿对象
private Dispatch workbook = null; // 具体工作簿
private Dispatch sheets = null;// 获得sheets集合对象
private Dispatch currentSheet = null;// 当前sheet
public ActiveXComponent getXl() {
return xl;
}
public Dispatch getWorkbooks() {
return workbooks;
}
public Dispatch getWorkbook() {
return workbook;
}
/**
*
* 打开excel文件
* @param filepath 文件路径名称
* @param visible 是否显示打开
* @param readonly 是否只读方式打开
*
*/
public void OpenExcel(String filepath, boolean visible, boolean readonly) {
try {
initComponents(); // 清空原始变量
ComThread.InitSTA();//仅允许同时运行一个线程,其他线程锁住