最近和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库生成Excel:入门与实践》 在信息化时代,数据的处理与分析变得至关重要,Excel作为广泛使用的电子表格工具,对于数据管理、计算和报表生成具有强大的功能。在Java开发环境中,如何与Excel进行交互呢?这...
JXL的英文文档是开发者学习和理解库功能的重要资源。文档通常包括以下内容: 1. **安装与引入**:介绍如何将JXL库添加到Java项目中,通常是通过Maven或Gradle的依赖管理方式。 2. **API参考**:详尽列举了库中所有...
同时,`Java Excel API jxl入门及jxl_jar下载 - Java SE (Java Platform, Standard Edition) - 大家论坛.htm`和`Java Excel API jxl入门及jxl_jar下载 - Java SE (Java Platform, Standard Edition) - 大家论坛....
API基础 - **Workbook**: 代表Excel工作簿,是所有工作表的容器。可以通过`Workbook.createWorkbook()`创建一个新的工作簿,通过`Workbook.getWorkbook()`读取现有的工作簿。 - **Sheet**: 表示Excel中的单个工作...
**标题解析:** "jxl在java中的基本用法" 这个标题...以上就是jxl在Java中基本用法的关键知识点,涵盖了从基础操作到高级特性的全面介绍。通过深入学习和实践,开发者可以熟练掌握利用jxl库进行Excel文件处理的技能。
2. **API使用**:文档中包含了大量的类和方法,例如Workbook、Sheet、Cell等,这些都是使用jxl库进行操作的基础。Workbook类代表整个Excel文件,而Sheet类则代表工作簿中的单个工作表。Cell类则用于处理单元格级别的...
通过深入学习JXL库的文档,你可以根据需要实现更多功能,如读写公式、处理日期和时间、设置单元格样式等。 总的来说,JXL是一个实用的工具,尤其适合那些不希望依赖于Microsoft Office或Apache POI库,但又需要在...
《jxl Excel 入门指南:适合初学者的实战项目》 在Java编程领域,处理Excel数据是一项常见的任务。为此,JXL库(Java Excel API)提供了一个强大的解决方案,让Java开发者能够轻松地读取、写入以及修改Excel文件。...
这个"jxl导入导出excel完美运行demo"提供了从零开始进行数据导入导出的基础模板,通过学习和理解这个示例,开发者能够快速掌握使用`jxl`库处理Excel文件的方法,并应用于实际项目中。 总之,`jxl`库是Java处理Excel...
通过分析和运行这些代码,开发者可以更好地理解和学习如何在Java中利用jxl库生成Excel表格。这有助于提高在实际开发中处理Excel文件的能力,特别是对于那些需要从文本数据生成报表或者进行数据交换的项目,jxl是一个...
在Java编程环境中,处理Excel文件...通过学习和实践使用JXL解析Excel文件,你不仅可以提升Java编程能力,还能在数据处理领域拓展自己的技能树。无论是数据导入、报表生成还是自动化测试,这都将是一个非常实用的工具。
标题 "NoClassDefFoundError: jxl/WorkbookSettings" ...在进一步研究标签“源码”和“工具”时,可以深入学习JExcelApi的源代码,理解其内部实现,也可以探索其他替代工具,如Apache POI,以提升处理Excel文件的能力。
JXL的优点在于它的简单易用和较小的学习曲线,对于小型项目或者对.xlsx格式无需求的场景,JXL是一个不错的选择。 在Java中读写Excel时,你需要在项目中引入相应的jar包。对于Apache POI,"poi.jar"是基础组件,但...
这篇博客“jxl.jar 下载excel电子表格(1)”可能是介绍如何使用这个库来处理Excel文件的入门教程。 在描述中提到的“NULL”意味着没有提供具体的细节,但通常这样的描述可能引导读者去博文链接获取更多信息。根据...
JXL的API设计更加直观,学习曲线较平缓。 4. **实际应用**: 当你需要生成包含大量格式化数据、图表或其他复杂功能的Excel报表时,POI可能是更好的选择。而如果你只需要处理基本的数据写入和格式设置,JXL可能更...
总之,"jxl简单项目代码"提供了一个基础的JXL使用示例,适合初学者了解和实践Excel数据的Java处理。通过学习和实践,你可以掌握如何在Java程序中处理Excel文件,为后续的项目开发打下坚实的基础。
2. 创建Workbook对象:这是Excel文件的基础,可以使用`Workbook.createWorkbook()`方法创建一个新的工作簿。 3. 添加Sheet:向Workbook中添加Sheet,代表Excel中的工作表,使用`Workbook.addSheet()`方法。 4. ...
1. **创建Workbook对象**:`jxl.Workbook`是Excel文件的基础,你可以把它看作是一个Excel工作簿。创建一个空的Workbook对象,可以使用`Workbook.createWorkbook()`方法。 ```java WritableWorkbook workbook = ...
Java编程语言提供了多种方式来处理数据的导出,其中一种...这个压缩包可能包含了完成这一任务所需的全部代码和库,对于初学者来说是一个很好的学习资源,同时对于经验丰富的开发者来说,也是一个快速实现功能的工具。
标题中的“jxls报表生成利器,比起jxl,poi牛逼得很”暗示了本文将讨论在Java环境下生成Excel报表的工具,重点在于jxls和Apache POI库的对比。jxls是一个基于Apache POI的扩展库,使得在处理Excel模板时更加方便高效...