Java 如何读取Excel格式xls、xlsx数据工具类

Java如何读取Excel格式xls、xlsx数据

在Java中,我们可以使用POI库来操作Excel文件,这个库支持读取和写入Excel文件。下面我们将通过两个示例来讲解如何读取Excel格式xls、xlsx数据。

示例1:读取Excel文件中的数据

  1. 首先我们需要引入相关依赖。在pom.xml文件中添加以下配置:
<dependencies>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi</artifactId>
        <version>3.17</version>
    </dependency>
    <dependency>
        <groupId>org.apache.poi</groupId>
        <artifactId>poi-ooxml</artifactId>
        <version>3.17</version>
    </dependency>
</dependencies>
  1. 然后我们需要创建一个工作簿对象,读取Excel文件并获取其中的数据。以下是完整代码:
import java.io.FileInputStream;
import java.io.InputStream;
import java.util.ArrayList;
import java.util.List;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ReadExcel {

    public static void main(String[] args) {
        List<List<String>> data = new ArrayList<List<String>>();
        try {
            InputStream is = new FileInputStream("test.xlsx");
            Workbook workbook = new XSSFWorkbook(is);
            Sheet sheet = workbook.getSheetAt(0);
            for (Row row : sheet) {
                List<String> rowData = new ArrayList<String>();
                for (Cell cell : row) {
                    rowData.add(cell.getStringCellValue());
                }
                data.add(rowData);
            }
            workbook.close();
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(data);
    }

}
  1. 以上代码中,我们首先创建一个空的List变量来保存Excel中的数据。然后我们通过FileInputStream从磁盘中读取Excel文件,构建一个Workbook对象。接着我们从Workbook对象中获取第一张Sheet,遍历每一行,在每一行中读取每一列的单元格中的数据,并将其添加到List中。最后,我们打印出保存了Excel中数据的List变量的值。

示例2:读取Excel文件中的指定单元格

在这个示例中,我们将介绍如何读取Excel文件中的指定单元格。以下是完整代码:

import java.io.FileInputStream;
import java.io.InputStream;

import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ReadExcelCell {

    public static void main(String[] args) {
        try {
            InputStream is = new FileInputStream("test.xlsx");
            Workbook workbook = new XSSFWorkbook(is);
            Sheet sheet = workbook.getSheetAt(0);
            Row row = sheet.getRow(0);
            Cell cell = row.getCell(0);
            String value = cell.getStringCellValue();
            System.out.println(value);
            workbook.close();
            is.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }

}

以上代码中,我们首先创建一个空的List变量来保存Excel中的数据。然后我们通过FileInputStream从磁盘中读取Excel文件,构建一个Workbook对象。接着我们从Workbook对象中获取第一张Sheet,并获取第一行和第一列中的单元格。最后,我们打印出第一行第一列的单元格中的数据。

总结

读取Excel文件的过程需要通过POI的API来完成,包括创建工作簿对象、获取Sheet对象、获取Row对象、获取Cell对象以及读取单元格中的数据等。通过以上两个示例的实现,可以让我们更好地理解如何在Java中读取Excel文件中的数据。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java 如何读取Excel格式xls、xlsx数据工具类 - Python技术站

(0)
上一篇 2023年5月19日
下一篇 2023年5月19日

相关文章

  • t01_idea消除的白框

    消除idea顶部窗口上的白色标题栏 点击Hlep,找到Edit Custom VM Options…点击 添加下面一段话(如果有责显示为false责改为true): -Dide.win.frame.decoration=true 然后重启即可,如下图所示,顶部白框已经没有出现了 原文链接:https://www.cnblogs.com/2580p/p/1…

    Java 2023年5月2日
    00
  • Nett分布式分隔符解码器逻辑源码剖析

    Nett分布式分隔符解码器逻辑源码剖析 什么是Netty分布式分隔符解码器? Netty分布式分隔符解码器是一个可复用的组件,用于将输入流分割成单个的消息。 为什么要使用Netty分布式分隔符解码器? 在TCP等流式协议中,数据是以流的方式传输的,并且没有消息边界的概念。如果需要将输入流分割成单个的消息并进行处理,就需要用到解码器。 Nett分布式分隔符解码…

    Java 2023年5月20日
    00
  • 复分析 部分题型整理

    哈哈我学不完啦 Ch1 复数与复变函数 1.1 复数的定义及其运算 证明复数不等式 合理利用三角不等式(命题1.1.4,p3) 1.2 复数的几何表示 求几何图形对应的复数方程 习题1.2.14 用复数证明几何定理 (感觉不是很重要,就不上图了) 例1.2.1 例1.2.2 1.3 扩充平面和复数的球面表示 用球面表示求距离/证明性质 貌似都是爆算…… Ch…

    Java 2023年4月18日
    00
  • Spring Security认证机制源码层探究

    Spring Security认证机制源码层探究 Spring Security是基于Spring框架实现的一个安全框架,它提供了一套标准化的安全认证和授权解决方案。在本文中,我们将深入探究Spring Security的认证机制源码层,了解Spring Security是如何实现用户认证与授权的。 认证机制源码层探究 Spring Security认证流程…

    Java 2023年6月3日
    00
  • Quarkus中的依赖注入DI和面向切面aop编程

    Quarkus是一个Java框架,它旨在提供快速启动和低内存消耗的微服务。而依赖注入(DI)和面向切面编程(AOP)是Quarkus的两个重要特性。 什么是依赖注入? 依赖注入是Quarkus中最基本的概念之一。它的目的是使应用程序具有可扩展性并降低组件之间的耦合度。 根据Quarkus文档的描述,依赖注入是将实例变量传递给类的技术。在Quarkus中,我们…

    Java 2023年6月15日
    00
  • JavaWeb开发之【Tomcat 环境配置】MyEclipse+IDEA配置教程

    JavaWeb开发之【Tomcat 环境配置】MyEclipse+IDEA配置教程 环境准备 在进行Tomcat环境配置之前,需要先准备好以下环境: JDK: Java Development Kit,Java开发工具包,需要安装JDK才能进行Java语言的开发和编译。 Tomcat:一个开源的Web服务器和Servlet容器,支持Java Servlet和…

    Java 2023年5月20日
    00
  • 关于Ubuntu Server 18.04 LTS 安装Tomcat并配置systemctl管理Tomcat服务的问题

    下面是详细讲解如何在Ubuntu Server 18.04 LTS系统上安装Tomcat并配置systemctl管理Tomcat服务的完整攻略。 1. 安装Tomcat 在Ubuntu Server 18.04 LTS系统上安装Tomcat的方法如下: 软件包更新:需要更新软件包列表和已安装软件包,以防止出现软件包依赖错误等问题,在终端中执行以下命令: su…

    Java 2023年5月19日
    00
  • 基于Java回顾之I/O的使用详解

    基于Java回顾之I/O的使用详解 什么是I/O I/O是输入输出的缩写,Java中I/O指的是从输入源读取数据,或将数据输出到输出目标。Java提供了大量的I/O类和接口,以方便我们处理各种输入和输出。 I/O的分类 输入流 输入流用于从输入源读取数据,Java提供了多种输入流,常用的有: FileInputStream:从文件中读取数据。 ByteArr…

    Java 2023年5月26日
    00
合作推广
合作推广
分享本页
返回顶部