最近和Excel频繁亲密接触,主要将N个Excel表中的数据拷贝到另外的Excel表中规整为二维结构以便入库。但是有些表存在合并单元格的情况,甚是恼火,怎么办哪?好在这N个Excel表结构还比较一致,可以写程序在指定位置读取,然后再写入到新的Excel表中,这样就OK了。这里面主要用到一个组件JXL.
jxl的安装:
主要就是将jxl的包放在WEB-INF的classes下面(如果下载到的是.jar文件,就放在lib下面).别忘了将jxl包中的common文件夹也放在WEB-INF下面.
jxl的使用:
主要的功能就是读Excel文件和写Excel文件
读:
读的时候是这样的一个思路,先用一个输入流(InputStream)得到Excel文件,然后用jxl中的Workbook得到工作薄,用Sheet从工作薄中得到工作表,用Cell得到工作表中得某个单元格.
InputStream->Workbook->Sheet->Cell,就得到了excel文件中的单元格
代码:
String path="c:\\excel.xls";//Excel文件URL
InputStream is = new FileInputStream(path);//写入到FileInputStream
jxl.Workbook wb = Workbook.getWorkbook(is); //得到工作薄
jxl.Sheet st = wb.getSheet(0);//得到工作薄中的第一个工作表
Cell cell=st.getCell(0,0);//得到工作表的第一个单元格,即A1
String content=cell.getContents();//getContents()将Cell中的字符转为字符串
wb.close();//关闭工作薄
is.close();//关闭输入流
我们可以通过Sheet的getCell(x,y)方法得到任意一个单元格,x,y和excel中的坐标对应.
例如A1对应(0,0),A2对应(0,1),D3对应(3,2).Excel中坐标从A,1开始,jxl中全部是从0开始.
还可以通过Sheet的getRows(),getColumns()方法得到行数列数,并用于循环控制,输出一个sheet中的所有内容.
写:
往Excel中写入内容主要是用jxl.write包中的类.
思路是这样的:
OutputStream<-WritableWorkbook<-WritableSheet<-Label
这里面Label代表的是写入Sheet的Cell位置及内容.
代码:
OutputStream os=new FileOutputStream("c:\\test.xls");//输出的Excel文件URL
WritableWorkbook wwb = Workbook.createWorkbook(os);//创建可写工作薄
WritableSheet ws = wwb.createSheet("sheet1", 0);//创建可写工作表
Label labelCF=new Label(0, 0, "hello");//创建写入位置和内容
ws.addCell(labelCF);//将Label写入sheet中
Label的构造函数Label(int x, int y,String aString)xy意同读的时候的xy,aString是写入的内容.
WritableFont wf = new WritableFont(WritableFont.TIMES, 12, WritableFont.BOLD, false);//设置写入字体
WritableCellFormat wcfF = new WritableCellFormat(wf);//设置CellFormat
Label labelCF=new Label(0, 0, "hello");//创建写入位置,内容和格式
Label的另一构造函数Label(int c, int r, String cont, CellFormat st)可以对写入内容进行格式化,设置字体及其它的属性.
现在可以写了
wwb.write();
写完后关闭
wwb.close();
输出流也关闭吧
os.close;
OK,只要把读和写结合起来,就可以在N个Excel中读取数据写入你希望的Excel新表中,还是比较方便的.
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/mwsssxu/archive/2006/04/27/694132.aspx
分享到:
相关推荐
jxl学习与经验共享 jxl学习与经验共享 jxl学习与经验共享
JXL教程 JXL开发文档 JXL学习笔记 JXL示例。
学习jxl包很好的小例子。通过这么几个小例子,了解并掌握jxl包。。。。。。。。。。。。。。。。。。。。。。。。。。。。。
jxl给需要的朋友提供方便,用于学习excel的包
jxl操作 jxl操作 jxl操作 jxl操作 jxl操作 jxl操作
该实例是jxl工具的入门代码。jxl是java对excel操作的开源工具,可以实现绝大部分的excel处理。 其中,BorderLineOfJxl.java是展示jxl的单元格边框样式。 ColourOfJxl.java是展示jxl的单元格背景样式。 JxlTest.java...
java语言操纵excel文档。以及jxl的帮助文档
jxl用于读取Excel的Java类(个人总结综合教程,适合新入门的朋友阅读)
jxl数据导入导出jxl数据导入导出jxl数据导入导出 jxl数据导入导出jxl数据导入导出jxl数据导入导出
jxl api说明文档 不包含pai包
学习使用JXL读写EXCEL文件, 学习使用JXL读写EXCEL文件。
JXL JAVA操作Excel JXL英文文档 JXL源码 JXL中文文档 JXL JAR
jxl导出Excel基础,非常有用的一个东西,漫漫看
java实现数据的导入与导出依赖包 jxl.jar
jxl操作excel说明以及jxl jar包
java中通过jxl写excel文件并且设置excel字体样式、表格等
jxlApi word操作 All Classes Packages jxl jxl.demo jxl.format jxl.write
jxl模版生成excel,采用类似EL表达式的方式生成模版
java利用jxl.jar包读取excel文件
jxl........API look look