Apache POI技术-在Java中的基本使用

这篇具有很好参考价值的文章主要介绍了Apache POI技术-在Java中的基本使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Apache POI技术-在Java中的基本使用


前言

Apache POI(Poor Obfuscation Implementation)是Apache软件基金会的一个开源项目,提供了用于读写Microsoft Office格式文件(如Word文档、Excel表格、PowerPoint幻灯片)的Java API。POI技术使Java开发人员能够轻松地操作和处理Office文档,为他们提供了丰富的功能和灵活性。


一、Apache POI是什么?

1.Apache POI简介:

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。
Apache POI技术-在Java中的基本使用,SpringBoot学习,apache,java,开发语言

2.Apache POI主要包括的模块:

HSSF:用于操作Excel文件中的.xls格式的数据,提供了读写Excel文件的功能。
XSSF:用于处理Excel文件中的.xlsx格式的数据,支持Excel 2007及以上版本的文件。
HWPF:用于操作Word文件中的.doc格式的数据,提供了读写Word文件的功能。
XWPF:用于处理Word文件中的.docx格式的数据,支持Word 2007及以上版本的文件。
HSLF:用于操作PowerPoint文件中的.ppt格式的数据,提供了读写PowerPoint文件的功能。
XSLF:用于处理PowerPoint文件中的.pptx格式的数据,支持PowerPoint 2007及以上版本的文件。

一般情况下,POI 都是用于操作 Excel 文件。

3.Apache POI 的应用场景:

报表生成:

在企业应用中,经常需要生成各种类型的报表,如财务报表、销售报表等。Apache POI技术可以帮助开发人员轻松生成Excel或Word格式的报表,并实现自动化的数据填充和格式化。

数据导入导出:

在数据处理应用中,经常需要将数据从Excel或其他Office文件中读取,或者将数据写入到这些文件中。Apache POI技术提供了读写Excel、Word、PowerPoint等文件的API,能够方便地实现数据导入导出功能。

模板生成:

有时候需要根据特定的模板生成文档,如合同、报价单等。Apache POI技术可以帮助开发人员读取模板并进行修改,以生成符合需求的文档。

自动化办公流程:

在企业应用中,有些流程需要多个人协同完成,如审批流、报销流程等。Apache POI技术可以结合工作流引擎,实现自动化的办公流程,从而提高工作效率和精度。

二、Apache POI基本使用方法

1.引入Maven坐标依赖

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

2.将数据写入Excel文件

代码如下(示例):

/**
     * 通过poi创建一个excel文件,并写入数据
     */
    public  static void write() throws Exception {

        //在内存中,创建一个excel文件
        XSSFWorkbook excel = new XSSFWorkbook();

        //在excel文件中创建sheet页
        XSSFSheet sheet = excel.createSheet("测试111");

        //在sheet页中创建行,rownum编号从0开始
        XSSFRow row = sheet.createRow(1);

        //创建单元格,并将数据写入单元格
        row.createCell(1).setCellValue("姓名");
        row.createCell(2).setCellValue("城市");

        //创建新行
        row = sheet.createRow(2);
        row.createCell(1).setCellValue("张三");
        row.createCell(2).setCellValue("北京");

        //再创建新行
        row = sheet.createRow(3);
        row.createCell(1).setCellValue("李四");
        row.createCell(2).setCellValue("南京");

        //创建输出流对象,将内存中的excel写入到磁盘
        FileOutputStream outputStream =  new FileOutputStream(new File("C:\\Users\\ABC\\Desktop\\info.xlsx"));
        excel.write(outputStream);

        //关闭资源
        outputStream.close();
        excel.close();

    }

实现效果:
Apache POI技术-在Java中的基本使用,SpringBoot学习,apache,java,开发语言

3.读取Excel文件中的数据

代码如下(示例):

 /**
     * 通过poi读取excel文件内容
     */
    public static void read() throws Exception{
        
        //获取输入流对象
        FileInputStream fileInputStream = new FileInputStream(new File("C:\\Users\\ABC\\Desktop\\info.xlsx"));
        
        //创建excel对象,读取excel文件
        XSSFWorkbook excel =  new XSSFWorkbook(fileInputStream);
        
        //读取excel文件中第一个sheet页
        XSSFSheet sheetAt = excel.getSheetAt(0);
        
        //获取excel中数据最后一行的行号
        int lastRowNum = sheetAt.getLastRowNum();
        
        //从第二行开始读
        for (int i = 1; i <= lastRowNum; i++) {
            //获得某一行数据
            XSSFRow row = sheetAt.getRow(i);
            //获得第二个单元格对象
            String cellValue1 = row.getCell(1).getStringCellValue();
            //获得第三个单元格对象
            String cellValue2 = row.getCell(2).getStringCellValue();
            //打印数据
            System.out.println(cellValue1+"  "+cellValue2);
        }
        
        //关闭资源
        fileInputStream.close();
        excel.close();
    }

实现效果:
Apache POI技术-在Java中的基本使用,SpringBoot学习,apache,java,开发语言

总结

以上就是本文章的内容,本文仅仅简单介绍了Apache POI的基本使用,具体使用需要根据实际项目进行实现。文章来源地址https://www.toymoban.com/news/detail-835275.html

到了这里,关于Apache POI技术-在Java中的基本使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • SpringBoot+SSM项目实战 苍穹外卖(12) Apache POI

    继续上一节的内容,本节是苍穹外卖后端开发的最后一节,本节学习Apache POI,完成工作台、数据导出功能。 工作台是系统运营的数据看板,并提供快捷操作入口,可以有效提高商家的工作效率。 工作台展示的数据:今日数据、订单管理、菜品总览、套餐总览、订单信息 营业

    2024年01月16日
    浏览(54)
  • Apache POI | Java操作Excel文件

    目录 1、介绍 2、代码示例 2.1、将数据写入Excel文件 2.2、读取Excel文件中的数据 🍃作者介绍:双非本科大三网络工程专业在读,阿里云专家博主,专注于Java领域学习,擅长web应用开发、数据结构和算法,初步涉猎Python人工智能开发和前端开发。 🦅主页:@逐梦苍穹 📕您的一

    2024年02月20日
    浏览(57)
  • Java 基于Apache POI实现Excel读写操作

    Win10 Java JDK1.8 pom.xml配置 代码实现 exmple.xml 补充说明 创建工作簿 POI创建工作簿的API有3种: HSSFWorkbook : 此API用于操作Excel 2003及之前的版本(文件扩展名 .xls ),优点是导出速度快,缺点是导出的行数有局限性,最多为65535行,超出65536条后系统就会报错。对内存消耗比较大,容

    2024年02月15日
    浏览(40)
  • 【Java Easypoi & Apache poi】 Word导入与导出

            如果这里造成了读取resources下的文件返回前端乱码问题:除了HttpServletResponse响应中设置字体问题,还有可能是因为在编译期文件就已经乱码了,所以需要在pom.xml中增加以下配置。

    2024年02月10日
    浏览(56)
  • 【Easypoi & Apache poi】 Java后端 Word导入与导出

            如果这里造成了读取resources下的文件返回前端乱码问题:除了HttpServletResponse响应中设置字体问题,还有可能是因为在编译期文件就已经乱码了,所以需要在pom.xml中增加以下配置。

    2024年02月11日
    浏览(55)
  • Java Apache POI 小记(读取Word通过模板创建PPT)

    近期身边的一位朋友来寻求帮助,她在日常工作时,总是需要做一些重复的事情,所以想着是否能通过程序实现自动化的操作。 具体需求为,每天会收到一份固定格式的Word文件,然后根据其中的内容,填充到固定的PPT模板中,最终生成图片输出。 有了需求后,第一件事自然

    2024年01月19日
    浏览(51)
  • 苍穹外卖集成 Apache POI Java实现Excel文件的读写下载

    Apache POI - the Java API for Microsoft Documents Project News 16 September 2022 - POI 5.2.3 available The Apache POI team is pleased to announce the release of 5.2.3. Several dependencies were updated to their latest versions to pick up security fixes and other improvements. A summary of changes is available in the Release Notes. A full list of changes is a

    2024年02月09日
    浏览(59)
  • 解决 java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader 报错

    在使用POI导出Excel表格的时候,本地运行导出没问题,但是发布到服务器后提示 “java.lang.NoClassDefFoundError: org/apache/poi/POIXMLTypeLoader” 下面是pom.xml中的配置 一开始以为缺少jar包导致的,后来排查发现不是这个原因,是因为ooxml-schemas版本过低。对于poi 4.1.0和4.1.2来说,应该使用

    2024年01月21日
    浏览(44)
  • java.lang.NoClassDefFoundError: org.apache.poi.POIXMLDocument问题排查解决

    项目打包部署完成,用jar包在部署环境运行,在使用到poi相关的服务时报错 java.lang.NoClassDefFoundError: org.apache.poi.POIXMLDocument 然后我查找了些解决办法,对处理方法做了梳理: 使用XSSWorkbook,使用时出错 pom文件少引入依赖 包依赖冲突 使用模块没有声明所需依赖(这是我遇到的

    2024年02月06日
    浏览(88)
  • 使用 Apache POI 更新/覆盖 特定的单元格

    将以下表中第4行,第4列的单元格由“张宇”更新为“汤家凤”,并将更行后的结果写入新的Excel文件中; 使用Apache POI,可以精确定位到需要更改的单元格!高定制化的场景有时可能不适合用easyExcel; 步骤: 由 file 依次 获取 workbook、sheet、row、cell; 更新 cell; 关闭 输入流

    2024年01月17日
    浏览(41)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包