java中excelview_Java 操作 EXCEL

今天帮朋友写了一段用来处理EXCEL内容的程序,在这里记录下自己的学习过程。主要是对EXCEL表格中的内容做分类和统计,使用计算机来做这种重复的机械性地工作再好不过了。首先,我们需要下载一个java操作excel的开源插件,我使用的是jexcelapi(下载链接:http://120.52.73.49/nchc.dl.sourceforge.net/project/jexcelapi/jexcelapi/2.6.6/jexcelapi_2_6_6.zip)。进行解压,如果使用Eclipse等IDE需要在project->properties->Java Build Path 里面添加jxl.jar文件。至此,开发环境搭建完成。下面展开具体的操作:

1、定义数据类型,因为每一列的数据类型不同,这里采用类数据类型来存储,采用对象数组来存储每一行的内容。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

classrecord{private intnum;private charty;public voidSetNum(String s1){this.num=Integer.parseInt(s1);

}public voidSetTy(String s2){this.ty=(char)s2.getBytes()[0];

}public intGetNum(){returnnum;

}public charGetTy(){returnty;

}

}

record a[]= newrecord[row];for(int i=0;i

a[i]= new record();

View Code

注意代码中对对象数组的每一个元素初始化的过程,否则会出现java.lang.NullPointerException的异常抛出。

2、连接到EXCEL,获取工作空间,我们用到了Workbook和Sheet类,在之前导入的jxl包里面。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//创建一个读取excel的容器

Workbook book = Workbook.getWorkbook(new File("G:/test123.xls"));//读取第一页

Sheet sheet = book.getSheet(0);//读取电子表格和列数和行数

int col =sheet.getColumns();int row = sheet.getRows();

View Code

3、读取每一个单元格的内容。将单元格的数据读取到数组中之后,接下来的工作可根据具体情况完成实际操作。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

for(int i=0;i

Cell cell1=sheet.getCell(0, i);

Cell cell2=sheet.getCell(1, i);

a[i].set_num(cell1.getContents());

a[i].set_ty(cell2.getContents());

}

View Code

4、根据需求完成相关操作后,需要将数据写会Excel表格中,我们用到了WritableWorkbook和WritableSheet两个类。

8f900a89c6347c561fdf2122f13be562.png

961ddebeb323a10fe0623af514929fc1.png

//创建一个可写excel文件

WritableWorkbook bookw = Workbook.createWorkbook(new File("G:/testwtb.xls"));//写入excel的第一页

WritableSheet sheetw = bookw.createSheet("first sheet",0);for(int i=0;i<=index;i++){

Number n= new Number(0,i,x[i]);

sheetw.addCell(n);

Number n1= new Number(1,i,y[i]);

sheetw.addCell(n1);

Number n2= new Number(2,i,z[i]);

sheetw.addCell(n2);

Number n3= new Number(3,i,xx[i]);

sheetw.addCell(n3);

}

bookw.write();

bookw.close();

View Code

至此,所有操作完成。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值