『开发』使用JXL.jar实现JAVA对EXCEL的读写操作

『开发』使用 JXL.jar 实现 JAVA 对 EXCEL 的读写操作

简介:
jxl.jar 是通过 java 操作 excel 表格的工具类库

jxl 操作 excel 包括对象 Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。

一个 excel 就对应一个 Workbook 对象。

一个 Workbook 可以有多个 Sheet 对象。

一个 Sheet 对象可以有多个 Cell 对象。

读取 Excel 操作
通过 Workbook,Sheet ,Cell 这三个对象我们就可以实现 Excel 文件的读取工作。

读取步骤:​

1、 选取 Excel 文件得到工作薄

1
Workbook workbook = Workbook.getWorkbook(new File("myfile.xls"));

2、 选择工作表,通过 Workbook 的 getSheet 方法选择第一个工作表(从 0 开始)

1
Sheet sheet = workbook.getSheet(0);

3、 选择 Cell

读取单元格

通过 Sheet 的 getCell 方法选择位置为 C2 的单元格(两个参数都从 0 开始)

1
Cell c2 = sheet.getCell(2,1);

4、 读取信息 ​

通过 Cell 的 getContents 方法读取单元格的值

1
把单元格中的信息以字符的形式读取出来String stringc2 = c2.getContents();

Cell 提供了一个 getType 方法

能够返回单元格的类型信息,同时 JXL 提供了一个 CellType 类用来预设 Excel 中的类型信息,而且 JXL 提供了一些 Cell 类的子类用来分别用来表示各种类型的单元格,如 LabelCell,NumberCell,DateCell 分别表示字符、数值、日期类型的单元格

5、释放资源:

1
workbook.close()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
import java.io.File;
import java.io.IOException;

import jxl.Sheet;
import jxl.Workbook;
import jxl.read.biff.BiffException;

/**
* jxl读excel
*
* @author jianggujin
*
*/
public class JxlReadDemo
{
public static void main(String[] args) throws BiffException, IOException
{
File xlsFile = new File("jxl.xls");
// 获得工作簿对象
Workbook workbook = Workbook.getWorkbook(xlsFile);
// 获得所有工作表
Sheet[] sheets = workbook.getSheets();
// 遍历工作表
if (sheets != null)
{
for (Sheet sheet : sheets)
{
// 获得行数
int rows = sheet.getRows();
// 获得列数
int cols = sheet.getColumns();
// 读取数据
for (int row = 0; row < rows; row++)
{
for (int col = 0; col < cols; col++)
{
System.out.printf("%10s", sheet.getCell(col, row)
.getContents());
}
System.out.println();
}
}
}
workbook.close();
}
}

写入 excel 操作
通过 WritableWorkbook,WritableSheet,Label 这三个对象我们就可以实现 Excel 文件的插入工作。

1、 创建可写入的 Excel 工作薄

WritableWorkbook wwb = Workbook.createWorkbook(new File(“myfile.xls”));

2、创建工作表

WritableSheet ws = wwb.createSheet(“通讯录”, 0);

3、创建单元格

添加文本类单元格

Label labelC = new Label(0, 0, “This is a Label cell”);

ws.addCell(labelC);

4、写入到文件

wwb.write();// 写入数据

5、释放资源:

wwb.close();// 关闭文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import java.io.File;
import java.io.IOException;

import jxl.Workbook;
import jxl.write.Label;
import jxl.write.WritableSheet;
import jxl.write.WritableWorkbook;
import jxl.write.WriteException;

/**
* jxl写Excel
*
* @author jianggujin
*
*/
public class JxlWriteDemo
{
public static void main(String[] args) throws IOException, WriteException
{
File xlsFile = new File("jxl.xls");
// 创建一个工作簿
WritableWorkbook workbook = Workbook.createWorkbook(xlsFile);
// 创建一个工作表
WritableSheet sheet = workbook.createSheet("sheet1", 0);
for (int row = 0; row < 10; row++)
{
for (int col = 0; col < 10; col++)
{
// 向工作表中添加数据
sheet.addCell(new Label(col, row, "data" + row + col));
}
}
workbook.write();
workbook.close();
}
}

更新 excel 操作
1、创建只读的 Excel 表副本

Workbook workbook = Workbook.getWorkbook(file);

2、创建可写入的 Excel 工作薄

WritableWorkbook writableWorkbook = Workbook.createWorkbook(file, workbook);

3、其他操作与写入 excel 操作类似

在这里插入图片描述




写在最后:
我叫风骨散人,名字的意思是我多想可以不低头的自由生活,可现实却不是这样。家境贫寒,总得向这个世界低头,所以我一直在奋斗,想改变我的命运给亲人好的生活,希望同样被生活绑架的你可以通过自己的努力改变现状,深知成年人的世界里没有容易二字。目前是一名在校大学生,预计考研,热爱编程,热爱技术,喜欢分享,知识无界,希望我的分享可以帮到你!
如果有什么想看的,可以私信我,如果在能力范围内,我会发布相应的博文!
感谢大家的阅读!😘 你的点赞、收藏、关注是对我最大的鼓励!


『开发』使用JXL.jar实现JAVA对EXCEL的读写操作
https://chiamzhang.github.io/2024/06/29/『开发』使用JXL.jar实现JAVA对EXCEL的读写操作/
Author
Chiam
Posted on
June 29, 2024
Licensed under