java实现对excel文件的处理合并单元格的操作

网友投稿 434 2022-10-10


java实现对excel文件的处理合并单元格的操作

一、依赖引入

net.sourceforge.jexcelapi

jxl

2.6.12

二、表格操作

1、读取xls文件

测试文件为:

代码:

public void test() throws IOException, BiffException {

// 1、获取文件,创建workbook

File file = new File("D:/test/自动化监测数据上传模板20210525.xls");

Workbook workbook = Workbook.getWorkbook(file);

// 2.获取第一个工作表

Sheet sheet = workbook.getSheet(0);

// 3.获取表中数据

Range[] rangecell = sheet.getMergedCells();

SysHQeCewIBVCtem.out.println("行:" + sheet.getRows());

System.out.println("列:" + sheet.getColumns());

for (int i = 0; i < sheet.getRows(); i++) {

for (int j = 0; j < sheet.getColumns(); j++) {

Cell cell = sheet.getCell(j, i);

String contents = cell.getContents();

System.out.print(contents + " ");

}

System.out.println();

}

workbook.close();

}

输出结果(注意合并单元格处,需要特殊处理):

改造代码如下:

public void test() throws IOException, BiffException {

// 1、获取文件,创建workbook

File file = new File("D:/test/自动化监测数据上传模板20210525.xls");

Workbook workbook = Workbook.getWorkbook(file);

// 2.获取第一个工作表

Sheet sheet = workbook.getSheet(0);

// 3.获取表中数据

// 返回合并单元格数据

Range[] rangecell = sheet.getMergedCells();

System.out.println("行:" + sheet.getRows());

System.out.println("列:" + sheet.getColumns());

for (int i = 0; i < sheet.getRows(); i++) {

for (int j = 0; j < sheet.getColumns(); j++) {

Cell cell = sheet.getCell(j, i);

String contents = cell.getContents();

// 判断当前单元格,是否为合并单元格

for (Range r : rangecell) {

if (i > r.getTopLeft().getRow() &&

i <= r.getBottomRight().getRow() &&

j >= r.getTopLeft().getColumn() &&

j <= r.getBottomRight().getColumn()) {

contents = sheet.getCell(r.getTopLeft().getColumn(), r.getTopLeft().getRow()).getContents();

}

}

System.out.print(contents + " ");

}

System.out.println();

}

workbook.close();

}

结果:


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:宽字节注入解析(sql注入宽字节注入)
下一篇:基于Python3的漏洞检测工具 ( Python3 插件式框架 )
相关文章

 发表评论

暂时没有评论,来抢沙发吧~