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日

相关文章

  • Spring一步到位精通拦截器

    Spring一步到位精通拦截器攻略 Spring 框架提供了拦截器(Interceptor)来拦截和处理请求,使用拦截器可以方便的实现通用的功能,比如权限验证、日志记录、事务管理等,从而减少重复代码的编写,提高了代码的可重用性和可维护性。 本文将详细介绍 Spring 拦截器的知识和使用方法,内容涵盖以下方面: Spring 拦截器介绍 Spring 拦截器…

    Java 2023年5月19日
    00
  • MyBatis Generator的简单使用方法示例

    MyBatis Generator 的简单使用方法示例 什么是 MyBatis Generator MyBatis Generator 是一个基于 Java 的代码生成器,可以快速为 MyBatis 创建数据访问层代码。使用 MyBatis Generator 可以自动生成 MyBatis 的 POJO 类、Mapper 接口和 SQL 映射文件。 MyBa…

    Java 2023年5月20日
    00
  • jsp使用sessionScope获取session案例详解

    当我们在使用JSP进行开发时,经常需要使用到session来存储用户的信息。使用session,能够方便地在多个页面之间共享数据,因此我们需要掌握如何使用session。在本篇攻略中,我们将会使用sessionScope对象来获取session,并带您演示两个简单的使用示例。 什么是session? 在Web开发中,服务器与客户端之间通信使用的是HTTP协议…

    Java 2023年6月15日
    00
  • Java代码注释规范详解

    以下是“Java代码注释规范详解”的完整攻略。 为什么要使用注释 代码注释是为了在自己和他人阅读代码时更好地理解代码的功能和实现方式,也可以帮助开发人员在维护和修改代码时更加轻松。 注释的分类 在Java程序中,注释可以分为单行注释和多行注释两种。 单行注释 单行注释以“//”开头,作用范围为当前行。 示例代码: //这是一个单行注释 int num = 1…

    Java 2023年5月23日
    00
  • Java之JSP教程九大内置对象详解(中篇)

    让我来详细讲解一下“Java之JSP教程九大内置对象详解(中篇)”的完整攻略。 一、介绍 本教程将深入讲解九大内置对象,包括:request、response、pageContext、session、application、out、config、page、exception。通过本教程的学习,你将深入了解这些内置对象的作用和使用方法,进一步提高你的JSP编程…

    Java 2023年5月26日
    00
  • php使用curl模拟登录后采集页面的例子

    下面是php使用curl模拟登录后采集页面的攻略。 1. 了解curl模拟登录的基本原理 在使用curl模拟登录之前,需要了解一下基本的原理。curl是一个命令行工具,能够通过HTTP或FTP发送请求并获取资源,同时也可以通过数据请求来模拟登录网站。 登录页面的基本原理是通过向服务器发送用户名和密码进行验证,然后在浏览器中直接跳转到用户主页。使用curl模拟…

    Java 2023年6月15日
    00
  • jquery自定义下拉列表示例

    下面我来详细讲解一下“jQuery自定义下拉列表”的制作方法。 1. 简介 自定义下拉列表可以提升页面的交互体验,并且可以使页面更加美观。本文将使用jQuery来创建自定义下拉列表,包括如何使用HTML、CSS和JavaScript来实现。 2. 实现过程 下面我们以两个示例来详细讲解如何实现自定义下拉列表。 示例一 在这个示例中,我们将使用一个普通的&lt…

    Java 2023年5月19日
    00
  • 深入了解Hadoop如何实现序列化

    深入了解Hadoop如何实现序列化的完整攻略如下: 什么是序列化? 序列化是指将对象(数据结构)转换为一系列字节的过程,用于在网络上传输或将它们持久化到磁盘中。 Hadoop中的序列化 在Hadoop中,序列化是通过Writable接口来进行的。Writable是一个Java接口,允许对象在网络上进行序列化和反序列化。 在Hadoop中,大多数数据类型都通过…

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