java excel 列_Java读取Excel指定列的数据详细教程和注意事项

本文使用jxl.jar工具类库实现读取Excel中指定列的数据。

jxl.jar是通过java操作excel表格的工具类库,是由java语言开发而成的。这套API是纯Java的,并不依赖Windows系统,即使运行在Linux下,它同样能够正确的处理Excel文件。

支持Excel 95-2000的所有版本

生成Excel 2000标准格式

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

能够修饰单元格属性 支持图像和图表

jxl操作Excel包括对象Workbook(工作簿),Sheet(工作表) ,Cell(单元格)。一个Excel就对应一Workbook对象,一个Workbook可以有多个Sheet对象,一个Sheet对象可以有多个Cell对象。其主要的API说明如下:

新建并获取工作薄:

Workbook workbook = Workbook.getWorkbook(inputStream);

读取工作表:

workbook.getSheet(int index);//index从0开始,0对应Sheet1

获取单元格:

sheet.getCell(int columnIndex, int rowIndex);

读取单元格内容:

cell.getContents();

代码如下:

/*** 读取excel表格中特定的列

*

*@paramfile

* 文件

*@paramindex

* 第index列(0开始)

*@throwsException*/

public static void readColumn(File file, int index) throwsException {

InputStream inputStream= newFileInputStream(file.getAbsoluteFile());

Workbook workbook=Workbook.getWorkbook(inputStream);

Sheet sheet= workbook.getSheet(0);int rows =sheet.getRows();int columns =sheet.getColumns();for (int i = 1; i < rows; i++) {

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

System.out.println(cell.getContents());

}

}

用桌面上的一个Excel文件进行测试:

public static voidmain(String[] args) {

File file= new File("C:\\Users\\Administrator\\Desktop\\世界名著.xlsx");try{

System.out.println("正在读取书名...");

readColumn(file,0);//读取第一列

System.out.println("读取完毕");

}catch(Exception e) {

e.printStackTrace();

}

}

奇怪,竟然报错了:

b3983ef6ab279c6609f6ba9f7f7f0a77.png

这是使用jxl时一个需要注意的地方,jxl只支持Excel 95-2000 工作簿(*.xls),不支持Excel 工作簿(*.xlsx)。解决办法是把文件另存为xls的格式,注意一定要打开Excel文件再进行“另存为”操作,直接改后缀名是不可以的!

注意代码中也要相应的改一下,更改以后进行再次进行测试:

c3823807cfa22718022f08c6f544426d.png

af477c6504922b28c170ce86e03fb507.png

对比二者,完美!

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值