在Java中利用JCOM实现仿Excel编程详解

在Java中利用JCOM实现仿Excel编程详解,第1张

在Java中利用JCOM实现仿Excel编程详解,第2张

在JAVA中使用JCOM和JXL的要点:

1.在你的库下,你应该有jdom-1.0.jar,jxl-2.5.5.jar,jcom-2.2.4.jar,jcom.dll。

2.把jcom.dll放在你JDK的bin目录下或者windows系统盘里(建议放在JDK的BIN目录下)。

将上面所有的JAR包放在适当的位置,并开始在应用程序中编写工具类(为了记录,所有在JCOM中获得的IDispatch对象,下面将抛出一个JComException异常)

(1)首先你要判断一个传入路径是Word还是Excel还是别的。


if(path.endsWith("。doc "){
......
}

注意:如果是excel,后缀是“.xls ";

(2)然后你得有两个对象:

release manager RM = new release manager();
IDispatch xls app = null;

注意:ReleaseManager相当于一个容器,它与您机器上的所有JCOM构建进行交互。根据你传递的参数,他会寻找所有可以在你机器上操作的JCOM构建;

IDispatch可以理解为对象,一切都是对象;

(3)你得让他知道你想和EXCEL互动。

xlsApp = new IDispatch(rm," Excel。应用”);

(4)然后得到一个工作簿(Workbooks)

IDispatch excel =(IDispatch)xls app . get(" Workbooks ");

(5)设置当前对象是否可见。

xlsApp.put("Visible ",new Java . lang . boolean(false));

(6)拿到后打开练习册。

idispatch workbook =(idispatch)excel . method(" open ",new object[]{文件路径(存储Excel的路径)});

(7)判断文件是否存在,如果存在,删除
File f = new File(out path);
if(f . exists())
f . delete();

(8)将工作簿另存为
workbook.method ("saveas ",newobject [] {outpath,new integer(9)});

(9)获取工作簿下的所有工作表。

IDispatch Sheets =(IDispatch)workbook . get(" Sheets ");

注意:你得到的是一个数组;

(10)获取总张数。

int sheets Count = integer . parse int(sheets . get(" Count ")。toString());

(11)获取每张表的名称。

for(int sheet inx = 1;sheet inx IDispatch sheet =(IDispatch)sheets . get(" item ",new Object[]{ new Integer(sheet inx)});
String sheet name = sheet . get(" name ")。toString();
}

注意:excel总是从1开始,而不是从0开始;

遍历工作表时,除了索引之外,还可以传输工作表名称:

IDispatch sheet =((IDispatch)sheets . get(" item ",new Object[]{ sheet name }));

(12)获取活动表。

IDispatch asheet =(IDispatch)xls app . get(" active sheet ");

注意:xlsApp是一个从ReleaseManager获取EXCEL对象的IDispatch对象。

如果你想得到工作表,你应该先得到一个工作簿,然后用工作簿得到他下面的所有工作表。

位律师回复
DABAN RP主题是一个优秀的主题,极致后台体验,无插件,集成会员系统
白度搜_经验知识百科全书 » 在Java中利用JCOM实现仿Excel编程详解

0条评论

发表评论

提供最优质的资源集合

立即查看 了解详情