共计 1345 个字符,预计需要花费 4 分钟才能阅读完成。
本文使用 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);//index 从 0 开始,0 对应 Sheet1
int rows = sheet.getRows();
int columns = sheet.getColumns();
for (int i = 0; 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 文件再进行“另存为”操作,直接改后缀名是不可以的!
正文完