本文使用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表格中特定的列
*
@param
file
* 文件
*
@param
index
* 第index列(0开始)
*
@throws
Exception
public
static
void
readColumn(File file,
int
index)
throws
Exception {
InputStream inputStream
=
new
FileInputStream(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 void main(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();
奇怪,竟然报错了:
这是使用jxl时一个需要注意的地方,jxl只支持Excel 95-2000 工作簿(*.xls),不支持Excel 工作簿(*.xlsx)。解决办法是把文件另存为xls的格式,注意一定要打开Excel文件再进行“另存为”操作,直接改后缀名是不可以的!
注意代码中也要相应的改一下,更改以后进行再次进行测试:

对比二者,完美!
由于博主也是在攀登的路上,文中可能存在不当之处,欢迎各位多指教! 如果文章对您有用,那么请点个”推荐“,以资鼓励!