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

256次阅读
没有评论

共计 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 文件再进行“另存为”操作,直接改后缀名是不可以的!

正文完
 
alecctv
版权声明:本站原创文章,由 alecctv 2019-12-13发表,共计1345字。
转载说明:除特殊说明外本站文章皆由ooly.cc发布,转载请注明出处。
评论(没有评论)
验证码