现在客户对数据格式的要求越来越高了,前段时间要求在后台直接生成Excel,以后还会不会要求在后台读写word?pdf? 我想这种需求肯定会来的
不说这些了,读写Excel的开源包不少,Apach的POI,JExcel......不过我看上一款Jxl,这个包是韩国的程序员封装的,操作起来比较方便,上手也很快,拿出来给大家分享一下
Jxl.jar包在网上很多地方都有下, 设置ClassPath这些就不罗嗦了,我这里主要把他的几个我们用得最多得类和API列举一下,用这些类和方法来操作Excel已经没啥问题了:
1:workBook 根类,封装成单体模式,通过creatWorkBook获得writeableWorkBook实例(writeableWorkBook类在下面会讲到)
2:Sheet 读Excel的Sheet类实例 通过WorkBook.getSheet(Index)获得
3:Cell 读Excel的单元格类实例,通过sheet.getCell(row,col)获得,通过Cell的get方法可以获取每个单元格的格式,字体,内容等等
4:WritableFont 字体类,new WritableFont(WritableFont.createFont("宋体"),14)创建
5:WritableCellFormat 格式类,可以制定Alignment,VerticalAlignment等,通过setAlignment(Alignment.LEFT)诸如此类方法设定
6:WritableWorkbook 写Excel的类,jxl中写和读操作的类是分开的,都通过workBook 根类创建,不过读操作可以直接用WorkBook根类实例
7:WritableSheet Excel工作区,写Excel的sheet类
8:WritableCell 写操作单元格,不过一般写程序的时候直接addCell(new Label()),Label类在下面
9:Label 一般都用这个类加实际的单元格内容
主要方法:
1:Workbook.getWorkbook(new java.io.File ("Excel文件路径") );
获取读Excel的类实例
2:WorkBook.createWorkbook("新建Excel文件路径");
获取写Excel类实例
3:WritableWorkbook.creatSheet(“sheet名”,Index );
新建Excel sheet
4:sheet.addCell(new Label);
写某个单元格,参数为某个Label实例
5:new Label(row,col,Content,format);
单元格实例,row行号,col列号,都是从0开始,content为String,单元格内容,format上面提到的格式类实例
6:WriteableBook.write()
在最后调用此方法将缓冲写入Excel,然后调用WritableBook.close()即可
7:WriteableSheet.mergeCells(row1,col1,row2,col2);
合并单元格
8:WriteableSheet.insertRow(Index)
插入行,写固定模板的Excel时特别有用