当前位置:网站首页 > 技术博客 > 正文

java jls

一、jxl.jar概述

通过java操作excel表格的工具类库

支持Excel 95-2000的所有版本

生成Excel 2000标准格式

支持字体、数字、日期操作

能够修饰单元格属性

支持图像和图表

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

Java Excel API 文档

二、搭建环境

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

三、创新文件:

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

1 packagecom.test;2

3 import jxl.*;4 import java.io.*;5

6 import jxl.write.*;7 importjxl.write.biff.RowsExceededException;8

9 public classCreateExcel {10

11 public static void main(String[] args) throwsRowsExceededException, 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 packagecom.test;2

3 import jxl.*;4 importjxl.read.biff.BiffException;5

6 import java.io.*;7

8 public classReadExcel {9

10 public static void main(String[] args) throwsBiffException, 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

34 }35

36 }37

38 }

输出结果:

总列数:1总行数:2

----------------------------第0行,第0列为:Hello World

第1行,第0列为:123.456

五、修改文件:

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

1 packagecom.test;2

3 import jxl.*;4 import java.io.*;5

6 importjxl.read.biff.BiffException;7 import jxl.write.*;8 importjxl.write.biff.RowsExceededException;9

10

11 public classUpdateExcel {12

13 public static void main(String[] args) throwsBiffException, 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

版权声明


相关文章:

  • java list(Methods inherited from interface java.util.Collection)2024-10-23 23:30:03
  • java队列(Java精讲 | 45张图庖丁解牛18种Queue,你知道几种?)2024-10-23 23:30:03
  • 一个初中生学java(初中如何学好java)2024-10-23 23:30:03
  • java list(Java ArrayList)2024-10-23 23:30:03
  • static在java中的用法(Java中的static的作用与用法【详细解释+大量实例】)2024-10-23 23:30:03
  • java创建xlsx文件2024-10-23 23:30:03
  • 登录注册vue2024-10-23 23:30:03
  • excel xll开发工具2024-10-23 23:30:03
  • vue3使用vue2组件2024-10-23 23:30:03
  • vue2使用swiper2024-10-23 23:30:03