ApachePOI操作Excel快速入门使用

这篇具有很好参考价值的文章主要介绍了ApachePOI操作Excel快速入门使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

简介

Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目,主要任务是创建和维护Java API,以基于Office Open XML标准(OOXML)和Microsoft的OLE 2复合文档格式(OLE2)处理各种文件格式, 该API的组件列表如下:

  • POIFS - 该组件是所有其他POI元素的基本因素。 它用于显式读取不同的文件。
  • HSSF - 用于读取和写入MS-Excel文件的xls格式。
  • XSSF - 用于MS-Excel的xlsx文件格式。 常用,
  • SXSSF - 用于比较大的xlsx文件格式。
  • HWPF - 用于读写MS-Word的doc扩展文件。
  • XWPF - 用于读写MS-Word的docx扩展文件。
  • HSLF - 用于阅读,创建和编辑PowerPoint演示文稿。
  • HDGF - 它包含MS-Visio二进制文件的类和方法。
  • HPBF - 用于读写MS-Publisher文件。

excel有两个常用后缀 ,一个是较老的版本 后缀是 xls ,一个是xlsx 2007及以后版本生成的文件格式 xls和xlsx的区别

简单来说就是,我们可以使用 POI 在 Java 中对Miscrosoft Office各种文件进行读写操作。一般情况下,POI 都是用于操作 Excel 文件。
ApachePOI操作Excel快速入门使用


快速入门:

Apache POI既可以将数据写入Excel文件,也可以读取Excel文件中的数据,接下来分别进行实现。

导入依赖:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi-ooxml</artifactId>
</dependency>
1 将数据写入Excel表

使用的大致思路其实也和我们手动创建Excel一样

创建一个Excel文件 ======>> 创建一个Sheet页 ======>> 创建行 ======>> 创建行中的每一列

注意都是从0开始

    @Test
    public void testExcel() throws Exception {
//       创建一个Excel文件
        XSSFWorkbook sheets = new XSSFWorkbook();
//       创建一个Sheet页
        XSSFSheet sheet = sheets.createSheet("用户信息");
//       通过Sheet一行, 创建行   
        XSSFRow row1 = sheet.createRow(0);
//       创建行中的每一列
        row1.createCell(1).setCellValue("姓名");
        row1.createCell(2).setCellValue("城市");
//       创建第二行
        XSSFRow row2 = sheet.createRow(1);
        row2.createCell(1).setCellValue("张三");
        row2.createCell(2).setCellValue(23);

        XSSFRow row3 = sheet.createRow(2);
        row3.createCell(1).setCellValue("王五");
        row3.createCell(2).setCellValue(25);

        FileOutputStream outputStream = new FileOutputStream("E:\\MyProject\\testPOI.xlsx");

        sheets.write(outputStream);

//        关闭资源
        outputStream.close();
        sheets.close();
    }

此时就会在 E:\\MyProject\\ 生成一个 testPOI.xlsx 如下:

ApachePOI操作Excel快速入门使用

2 读取Excel表数据

下面就来读取刚才创建的文件
思路:
获取IO输入流 ======>> 得到当前文件对象 ======>> 获取Sheet对象 ======>> 得到行对象 ======>> 获取行中的单元格

    @Test
    public void testExcelRead() throws Exception {
//        获取IO输入流
        FileInputStream inputStream = new FileInputStream("E:\\MyProject\\testPOI.xlsx");
        // 通过构造器获取当前文件
        XSSFWorkbook xlsx = new XSSFWorkbook(inputStream);
//        通过名称获取指定的sheet页
        XSSFSheet userMessage = xlsx.getSheet("用户信息");
//        获取第一行
        XSSFRow row = userMessage.getRow(0);
//        获取第一行中的第二列,第三个的数据(第二个单元格和第三个单元格)
        XSSFCell oneTwo = row.getCell(1);   // 姓名
        XSSFCell oneThree = row.getCell(2); // 城市
        System.out.println(oneTwo + "  ---  " + oneThree);
//      获取第二行第三行的数据,  这里就模拟假如有多行的情况下
//       获取最后一行的行号
        int lastRowNum = userMessage.getLastRowNum();
        for (int i = 1; i <= lastRowNum; i++) {
            XSSFRow nowRow = userMessage.getRow(i);
            XSSFCell oneTwoMessage = nowRow.getCell(1);   // 姓名
            XSSFCell oneThreeMessage = nowRow.getCell(2); // 城市
            System.out.println(oneTwoMessage + "  ---  " + oneThreeMessage);
        }
//        关闭资源
        inputStream.close();
        xlsx.close();
    }

ApachePOI操作Excel快速入门使用

这里只是简单对POI中对Excel 中xlsx文件做了一个介绍, 其他的基本都大同小异没有太大的难度,对着APi 或文档即可直接使用,如果大家想看操作其他文件的实现, 可以参考下面官方文档和大佬的博客

官方文档(英文):

Overview (POI API Documentation) (51helpdoc.com)

推荐博客:
POI使用详解 - 空谷幽澜 - 博客园 (cnblogs.com)

POI中文API文档_poi中文api官方文档_weihubeats的博客-CSDN博客文章来源地址https://www.toymoban.com/news/detail-495287.html

到了这里,关于ApachePOI操作Excel快速入门使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • Apache POC(对Excel文件操作)

    Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目,我们可以使用POI在java程序中对Miscrosoft Office各种文件进行读写操作 一般情况下,POI都是用于操作Excel文件。 Test读取测试

    2024年02月07日
    浏览(37)
  • Apache ECharts简介和相关操作

    Apache ECharts 是一款基于 Javascript 的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。 官网地址:https://echarts.apache.org/zh/index.html 常见效果展示: 1.柱形图: 2.饼形图: 3.折线图 不管是那种图形,其本质就是 数据 Apache Echarts官方提供的快速入门

    2024年02月06日
    浏览(27)
  • 基于Apache POI-操作Excel数据-读写

    实现: 读(获取) 写(导入) 2.1 介绍 Apache POI 是一个处理Miscrosoft Office各种文件格式的开源项目。简单来说就是,我们可以使用 POI 在 Java 程序中对Miscrosoft Office各种文件进行读写操作。 一般情况下,POI 都是用于操作 Excel 文件。 Apache POI 的应用场景: 银行网银系统导出交

    2024年01月16日
    浏览(40)
  • 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)
  • Apache Flink从入门到放弃——Flink简介(一)

       随着大数据的发展,大数据的存储、计算、运用百花齐放;而大数据的计算中最重要的就是计算引擎,时至今日,很多人将大数据引擎分为四代,分别是: 第一代,Hadoop承载的MapReduce,将计算分为Map和Reduce两个阶段,同时采用Hadoop集群的分布式计算原理来实现数据的计

    2024年02月05日
    浏览(39)
  • Apache Doris 快速入门

    FE,Frontend,前端节点,接收用户查询请求,SQL解析,执行计划生成,元数据管理,节点管理等 BE,Backend,后端节点,数据存储,执行查询计划。 前端节点FE 和 后端节点BE 各自独立运行,互不影响。 broker:用来和外部文件系统打交道 DORIS_HOME=/export/server/doris-1.2.4.1 node1:安装

    2024年02月07日
    浏览(45)
  • QT中使用QtXlsx库的三种方法 QT基础入门【Excel的操作】

    对于Linux用户,如果Qt是通过“ apt-get”之类的软件包管理器工具安装的,请确保已安装Qt5开发软件包qtbase5-private-dev QtXlsx是一个可以读写Excel文件的库。它不需要Microsoft Excel,可以在Qt5支持的任何平台上使用。该库可用于从头开始生成新的.xlsx文件从现有.xlsx文件中提取数据编

    2024年02月12日
    浏览(47)
  • Apache Zookeeper 快速入门 极客时间

    作者:禅与计算机程序设计艺术 Apache Zookeeper 是一种分布式协调服务,它是一个基于 CP(一致性和容错)的系统,用来维护配置信息、命名数据、状态信息等;同时也提供分布式锁和 leader 选举等高可用功能。Zookeeper 的架构设计目标就是高性能、高可靠、强一致的数据发布与

    2024年02月08日
    浏览(45)
  • RabbitMQ --- 简介、快速入门

    微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应 异步通讯:就像发邮件,不需要马上回复 两种方式各有优劣,打电话可以立即得到响应,但是你却不能跟多个人同时通话。发送邮件可以同时与多个人收发邮件,但是往往响应会有延迟。   同步通

    2023年04月26日
    浏览(46)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包