Java使用POI库读取Excel表格代码实战详解

发布时间:2024年01月12日


前言

在当今数据驱动的世界中,Excel已经成为了许多组织和企业最常用的数据存储和分析工具之一。然而,手动处理大量的Excel数据是一项繁琐且耗时的任务。为了提高效率,开发人员通常需要使用编程工具来自动读取和处理Excel文件中的数据。

POI(Poor Obfuscation Implementation)库是一个功能强大的库,专门设计用于处Microsoft Office格式的文档,其中包括Excel文件。POI库提供了各种API,使开发人员能够轻松地取、写入和操作Excel文本文件。借助POI库,开发人员可以快速而准确地提取出所需的数据,并进行进一步的处理和分析。

本篇博客将为你提供全面的指南,深入详解如何使用POI库来读取Excel文本文件。我们将从介绍POI库的基本概念开始,并逐步引导你学习如何准备Excel文件、导入POI相关类、以及使用POI库提供的方法解析和读取Excel数据。

无论你是初学者还是有一定编程经验的开发人员,本篇博客都将为你提供逐步指导,帮助你轻松入门和精通POI库的读取Excel文本文件能力。让我们一起踏上这个令人兴奋的学习旅程,探索POI库的魅力,并发现它对于数据处理和分析的巨大价值!


一、POI是什么?

Apache POI是一个功能强大的开源Java库,专门用于处理Microsoft Office格式的文档。其主要功能包括:

  1. 读取和写入Excel文件:POI可以轻松读取和写入Excel文件,并能够解析和操作工作表、行、列和单元格等元素。

  2. 处理各种类型的数据:POI支持处理不同类型的数据,例如数字、日期、布尔值、字符串等,使开发人员能够准确地提取和处理Excel中的数据。

  3. 处理公式和函数:POI可以解析Excel中的公式和函数,并计算它们的结果。这使得开发人员能够执行复杂的计算和数据分析任务。

  4. 操作样式和格式:POI库允许开发人员设置和修改Excel中的样式和格式,包括字体、颜色、对齐方式、边框等,以美化和定制生成的Excel文件。

  5. 处理其他Office格式:除了Excel文件,POI库还支持处理Word文档和PowerPoint演示文稿等Microsoft Office格式的文档。

  6. 兼容性与稳定性:POI库与最新版本的Microsoft Office软件保持兼容,并且具有良好的稳定性和可靠性,确保开发人员可以在各种环境下顺利使用。

通过Apache POI库,开发人员可以方便地读取、写入和操作Excel文件,从而实现对Excel数据的灵活处理和分析。这使得POI成为许多企业和开发者首选的工具,用于自动化处理Excel数据、生成报表和进行数据分析等任务。

二、实战使用步骤

1.引入依赖

pom依赖如下(示例):

       <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi</artifactId>
            <version>4.1.2</version>
        </dependency>
        <dependency>
            <groupId>org.apache.poi</groupId>
            <artifactId>poi-ooxml</artifactId>
            <version>4.1.2</version>
        </dependency>

这两个依赖分别是Apache POI核心库依赖以及Apache POI用于处理Excel文件格式的依赖。

2.准备excel文件

接下来我们可以准备一个Excel表格,示例图片如下:
在这里插片描述
这个是我准备好的Excel表格,在我本地的路径是:C:\Users\cdeluser\Desktop\ex.xlsx

3.代码实战

我想要实现的功能是将Excel文件中的数据读取出来。一旦成功读取到数据,后续的相关逻辑操作就会变得轻而易举。

代码示例及讲解如下:

 public static void main(String[] args) throws IOException {
        // 创建工作簿对象并加载Excel文件
        XSSFWorkbook workbook = new XSSFWorkbook("C:\\Users\\cdeluser\\Desktop\\ex.xlsx");
        // 获取第一个工作表(这里可以选择工作表,如果你想获取其他工作表,只需将索引值替换为相应的数字即可)
        XSSFSheet sheet = workbook.getSheetAt(0);
        // 获取表格第一行和最后一行的索引值
        int firstRowNum = sheet.getFirstRowNum();
        int lastRowNum = sheet.getLastRowNum();
        // 遍历每一行数据(跳过第一行标题)
        for (int rowNum = firstRowNum + 1; rowNum <= lastRowNum; rowNum++) {
            // 获取当前行
            Row row = sheet.getRow(rowNum);
            // 获取姓名、岗位和电话单元格
            Cell cellName = row.getCell(0);
            Cell cellPost = row.getCell(1);
            Cell cellNumber = row.getCell(2);
            // 从单元格中获取对应的数据
            String name = cellName.getStringCellValue();
            String post = cellPost.getStringCellValue();
            int number = (int) cellNumber.getNumericCellValue();
            // 打印数据到控制台
            System.out.println(String.format("姓名: %s - 岗位: %s - 电话: %d", name, post, number));
        }
    }

输出结果:
在这里插入图片描述
从图片中可以看到,我们的数据都被读取出来啦!
最后,要注意的是,当操作Excel表格中的单元格数据时,确保了解和确认单元格的数据类型非常重要。根据单元格的数据类型,你需要相应地进行类型转换和处理。例如:
如果单元格是数值类型,你可以使用getNumericCellValue()方法来获取数值,并根据需要进行类型转换。
如果单元格是字符串类型,你可以使用getStringCellValue()方法获取字符串值。

总结

在这篇博客中,我介绍了POI库的基本概念和使用方法,以及如何处理Excel文件。通过代码实战,我们学会了读取Excel数据并处理不同类型的单元格。

使用POI库可以轻松地操作Excel文件,提高工作效率和数据处理准确性。希望这篇博客对读者们有所帮助,使你们能够在实际项目中有效地利用POI库处理Excel数据。

祝你们在使用POI库时取得成功!

文章来源:https://blog.csdn.net/weixin_67589420/article/details/135495418
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。