Java操作Excel的示例详解

Java操作Excel的示例详解

在 Java 工程中,对 Excel 进行操作是一个比较常见的需求。下面将会详细讲解如何使用 Java 操作 Excel 文档。

前置条件

在开始操作 Excel 文件前,需要先将相应的依赖项添加到 Maven 或 Gradle 项目中:

Maven

在 pom.xml 文件中添加以下依赖项:

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

Gradle

请将以下代码添加到 build.gradle 文件中:

dependencies {
   implementation 'org.apache.poi:poi-ooxml:4.1.2'
}

示例1:创建 Excel 文件

以下是一个简单的示例,演示如何使用 Java 创建一个包含数据的 Excel 文件:

import java.io.FileOutputStream;
import org.apache.poi.ss.usermodel.Cell;
import org.apache.poi.ss.usermodel.Row;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.ss.usermodel.Sheet;

public class CreateExcelDemo {
    public static void main(String [] args){
        // 创建工作簿对象
        XSSFWorkbook workbook = new XSSFWorkbook();

        // 创建工作表对象
        Sheet sheet = workbook.createSheet("Sheet1");

        // 创建行,并在行中添加数据
        for(int i=0;i<10;i++){
            Row row = sheet.createRow(i);
            Cell cell = row.createCell(0);
            cell.setCellValue("This is row " + (i+1));
        }

        // 将数据写入到文件中
        try (FileOutputStream outputStream = new FileOutputStream("demo.xlsx")) {
            workbook.write(outputStream);
        } catch (Exception e) {
            e.printStackTrace();
        }

        System.out.println("Excel 已创建。");
    }
}

在这个例子中,我们创建了一个 XSSFWorkbook 对象,它代表了一个 Excel 文件。我们通过 createSheet 方法创建了一个新的工作表,然后使用 createRowcreateCell 方法在行和单元格中添加数据。最后,我们将数据写入到磁盘上的 Excel 文件。运行示例代码后,你将会在项目的根目录下找到一个名为 demo.xlsx 的 Excel 文件。

示例2:读取 Excel 文件数据

以下是一个简单的示例,演示如何使用 Java 读取一个 Excel 文件中的数据:

import java.io.FileInputStream;
import java.io.IOException;
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.xssf.usermodel.XSSFWorkbook;

public class ReadExcelDemo {
    public static void main(String[] args) {
        try (FileInputStream inputStream = new FileInputStream("demo.xlsx")) {
            // 读取 Excel 文件并创建工作簿对象
            XSSFWorkbook workbook = new XSSFWorkbook(inputStream);

            // 获取第一个工作表
            Sheet sheet = workbook.getSheetAt(0);

            // 迭代行和单元格
            for (Row row : sheet) {
                for (Cell cell : row) {
                    String cellValue = cell.getStringCellValue();
                    System.out.println(cellValue);
                }
            }

            // 关闭工作簿
            workbook.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
}

在这个例子中,我们首先使用 FileInputStream 类从磁盘上读取 Excel 文件。然后,我们创建一个 XSSFWorkbook 对象来表示这个 Excel 文件。我们通过 getSheetAt 方法获取第一个工作表,然后使用 for 循环遍历工作表中的每一行和单元格,并输出相应的值。最后,我们关闭工作簿中的流对象。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Java操作Excel的示例详解 - Python技术站

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

相关文章

  • SpringBoot返回统一的JSON标准格式实现步骤

    下面是“SpringBoot返回统一的JSON标准格式实现步骤”的完整攻略: 1. 为什么需要统一的JSON标准格式 在Web开发中,经常需要通过API接口返回JSON格式的数据,在返回JSON数据时大家的实现方式可能会有所不同,这就导致在调用不同接口时,返回的JSON格式可能会存在不同的字段、不同的格式等情况,这也会增加前端开发人员的工作难度。因此,为了简…

    Java 2023年5月26日
    00
  • springboot+springmvc+mybatis项目整合

    一、概述 本文将简要讲解如何使用SpringBoot + SpringMVC + MyBatis这个组合来开发Web应用。这一组合是非常流行的,MyBatis负责ORM,SpringMVC负责MVC框架,SpringBoot则帮助我们快速搭建整个应用。 二、环境搭建 首先,我们需要在本地环境中安装JDK、Maven以及相应的IDE。为了便于快速上手,可以使用…

    Java 2023年5月15日
    00
  • Java Spring的数据库开发详解

    Java Spring的数据库开发详解 本文主要介绍在Java Spring框架下进行数据库开发的过程,包括如何配置数据源、如何使用Java Spring的ORM框架访问数据库、如何进行数据库事务管理等方面的内容。 配置数据源 在Java Spring中,我们可以使用Spring JDBC框架来访问数据库。要使用Spring JDBC框架,我们需要先配置数据…

    Java 2023年5月19日
    00
  • spring jpa 审计功能自定义填充字段方式

    完整的“spring jpa 审计功能自定义填充字段方式”的攻略分为以下几个步骤: 借助 Spring 审计功能实现自动填充字段 自定义填充字段的值生成方式 下面我们对每个步骤进行详细说明。 一、借助 Spring 审计功能实现自动填充字段 Spring Data JPA 提供了审计功能,即自动为实体的某些特定字段填充值,比如创建时间、修改时间、创建人员、修…

    Java 2023年6月3日
    00
  • centos7安装mysql并jdbc测试教程

    下面我就为您讲解“CentOS 7安装MySQL并JDBC测试教程”的完整攻略。 安装MySQL 首先,在CentOS 7上安装MySQL需要使用yum包管理器。 步骤1:添加MySQL Yum Repository MySQL官方提供了MySQL Yum Repository来帮助我们更简便地安装MySQL。 使用下面的命令添加官方仓库: sudo rpm…

    Java 2023年6月16日
    00
  • Java多线程实现多人聊天室功能

    非常感谢您对Java多线程实现多人聊天室功能的关注。下面我将详细讲解如何实现该功能的完整攻略。 1. 确定需求 在实现任何功能之前,我们必须先明确需求。对于多人聊天室,我们需要实现以下功能: 多人同时在线,互相发送消息; 能够区分不同的用户,显示其聊天记录和在线状态; 实现私聊功能,让用户可以针对某个特定用户发送消息。 2. 设计架构 在确定了需求后,我们需…

    Java 2023年5月18日
    00
  • JAVA内存模型(JMM)详解

    JAVA内存模型(JMM)详解 什么是JMM JMM 是 Java Memory Model 的缩写,即 Java 内存模型,是一种制定了共享内存系统中多线程访问规则的抽象规范。它规定了 JVM 中各个线程之间的共享变量存储在主内存中,每个线程都有自己的工作内存和虚拟机栈,变量值的更改仅在工作内存中进行,需要同步到主内存中才能被其他线程看到。 JMM 可以保…

    Java 2023年5月26日
    00
  • JSP 自定义标签第3/3页

    我来详细讲解一下 “JSP 自定义标签第3/3页” 的完整攻略。 什么是 JSP 自定义标签 JSP 自定义标签,指的是用户可以自定义自己的标签,在 JSP 页面上使用,达到简化 JSP 页面代码,增加可读性的目的。JSP 自定义标签可以分为两种类型: 动态内容标签:在标签体中执行动态内容,并输出结果。 静态内容标签:输出预定的静态内容,不需要执行动态逻辑。…

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