JXL基本操作

简介:

一、jxl.jar概述

  • 通过java操作excel表格的工具类库
  • 支持Excel 95-2000的所有版本
  • 生成Excel 2000标准格式
  • 支持字体、数字、日期操作
  • 能够修饰单元格属性
  • 支持图像和图表

  应该说以上功能已经能够大致满足我们的需要。最关键的是这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。另外需要说明的是,这套API对图形和图表的支持很有限,而且仅仅识别PNG格式。

 

Java Excel API 文档 

http://www.andykhan.com/jexcelapi/

 

二、搭建环境

  将下载后的文件解包,得到JXL.JAR,放入classpath。如果包不能正常的加载,可以把你下载好的JXL.JAR包放入本机jre的安装目录下,例如 D:\JAVA\jre\lib\ext中。如果想在Eclipse的一个项目中导入JXL.JAR,在该项目上右键,点击“属性”,类别那里选择”库“,点击"添加外部jar”在弹出的文件选择对话框选择你的jxl.jar。

 

三、创新文件:

新建一个名"Test.xls"的Excel文件,其中第一个工作表被命名为“sheet_one”,代码如下,编译执行后,会在当前位置产生一个Excel文件。

复制代码
 1 package com.test;
 2 
 3 import jxl.*;
 4 import java.io.*;
 5 
 6 import jxl.write.*;
 7 import jxl.write.biff.RowsExceededException;
 8 
 9 public class CreateExcel {
10 
11     public static void main(String[] args) throws RowsExceededException, WriteException{
12         WritableWorkbook book;
13         try {
14             System.out.println("---start---");
15             //打开文件 
16             book = Workbook.createWorkbook(new File("Test.xls"));
17             
18             //生成名为“第一页”的工作表,参数0表示这是第一页  
19             WritableSheet sheet = book.createSheet("sheet_one", 0);
20             
21             //在Label对象的构造中指名单元格位置是第一列第一行(0,0)    
22             //以及单元格内容为Hello World
23             Label label = new Label(0,0,"Hello World");
24             
25             //将定义好的单元格添加到工作表中    
26             sheet.addCell(label);
27             
28              /*生成一个保存数字的单元格    
29               必须使用Number的完整包路径,否则有语法歧义    
30               单元格位置是第二列,第一行,值为789.123*/  
31             jxl.write.Number num = new jxl.write.Number(0,1,123.456);
32             sheet.addCell(num);
33             
34             //写入数据并关闭文
35             book.write();
36             book.close();
37             System.out.println("---end---");
38             
39         } catch (IOException e) {
40             System.out.println(e);            
41         }
42 
43     }
44 
45 }
复制代码

 

四、读取文件:

 使用我们上面创建的Excel文件为例,做一个简单的读取操作,程序代码如下:

复制代码
 1 package com.test;
 2 
 3 import jxl.*;
 4 import jxl.read.biff.BiffException;
 5 
 6 import java.io.*;
 7 
 8 public class ReadExcel {
 9 
10     public static void main(String[] args) throws BiffException, IOException {
11         Workbook book = Workbook.getWorkbook(new File("Test.xls"));
12         
13         //获得第一个工作表对象  
14         Sheet sheet = book.getSheet("sheet_one");
15         //Sheet sheet = book.getSheet(0);
16         
17         int rows = sheet.getRows();
18         int cols = sheet.getColumns();
19         
20         System.out.println("总列数:" + cols);
21         System.out.println("总行数:" + rows);
22         System.out.println("----------------------------");    
23         
24         int i=0;
25         int j=0;
26         //循环读取数据
27         for(i=0;i<cols;i++)
28         {
29             for(j=0;j<rows;j++)
30             {
31                 System.out.println("第"+j+"行,第"+i+"列为:"+sheet.getCell(i, j).getContents());
32             }
33             
34         }
35 
36     }
37 
38 }
复制代码

输出结果:

总列数:1
总行数:2
----------------------------
第0行,第0列为:Hello World
第1行,第0列为:123.456

 

五、修改文件:

   利用jExcelAPI可以修改已有的Excel文件,修改Excel文件的时候,除了打开文件的方式不同之外,其他操作和创建Excel是一样的。下面的例子是在我们已经生成的Excel文件中添加一个工作表:

复制代码
 1 package com.test;
 2 
 3 import jxl.*;
 4 import java.io.*;
 5 
 6 import jxl.read.biff.BiffException;
 7 import jxl.write.*;
 8 import jxl.write.biff.RowsExceededException;
 9 
10 
11 public class UpdateExcel {
12 
13     public static void main(String[] args) throws BiffException, IOException, RowsExceededException, WriteException{
14          //获得文件    
15         Workbook wb = Workbook.getWorkbook(new File ("Test.xls"));
16         
17         //打开一个文件的副本,并且指定数据写回到原文件
18         WritableWorkbook book = Workbook.createWorkbook(new File ("Test.xls"), wb);
19         
20          //添加一个工作表 
21         WritableSheet sheet = book.createSheet("sheet_two", 1);
22         
23         sheet.addCell(new Label(0,0,"Test data for sheet_two"));
24         
25         //输出
26         System.out.println(sheet.getCell(0, 0).getContents());
27         
28         book.write();
29         book.close();
30         
31     }
32 
33 }
复制代码

输出:

Test data for sheet_two

 

 

本文转自贺满博客园博客,原文链接:http://www.cnblogs.com/puresoul/p/3502139.html,如需转载请自行联系原作者。


目录
相关文章
|
2月前
|
Java Apache
EasyPOI操作Excel从零入门
我们不造轮子,只是轮子的搬运工。(其实最好是造轮子,造比别人好的轮子)开发中经常会遇到excel的处理,导入导出解析等等,java中比较流行的用poi,但是每次都要写大段工具类来搞定这事儿,此处推荐一个别人造好的轮子,EasyPOI封装了Apache的POI技术,实现了基本的Excel导入、导出从此不再为Excel操作头疼~
328 2
EasyPOI操作Excel从零入门
|
9月前
|
存储 数据建模 Serverless
Excel 基本操作
4.2 Excel的基本操作 4.2.1工作簿的新建和打开 1、工作簿与工作表 工作簿是指在excel中用来存储并处理数据的文件,其扩展名是.xlsx。 各工作簿是由工作表组成的,每个工作簿都可以包含一个或多个工作表,用户可以用其中的工作表来组织种相关数据。工作表不能单独存盘,只有工作簿才能以文件的形式存盘;因此执行保存命令式对工作簿执行的,会将其中所有工作表一起保存。 1)工作簿(Sheet)是一个由行和列交叉排列的二维表格,也称作电子表格,用于组织和分析数据。 2)Excel的一个工作簿默认有3个工作表,用户可以根据需要添加工作表,一个工作簿最多可以包括无数个工作表 3)但新建时
Excel工具-HUTOOL-读取Excel
Excel工具-HUTOOL-读取Excel
|
9月前
|
Java
Java——关于Excle表格的操作
Java——关于Excle表格的操作
|
索引 Python
python操作Excel读写--使用xlrd
python操作Excel读写--使用xlrd
130 0
|
Java Linux API
Java读取Excel表格中的数据
Java读取Excel表格中的数据
Java读取Excel表格中的数据
|
JSON 数据格式 Python
Python Excel工具类封装, 给excel表头搞点颜色
Python Excel工具类封装, 给excel表头搞点颜色
109 0
Python Excel工具类封装, 给excel表头搞点颜色
两行代码实现Pandas创建一个空的Excel文件操作
两行代码实现Pandas创建一个空的Excel文件操作
两行代码实现Pandas创建一个空的Excel文件操作
|
API 程序员 数据格式