Java操作Excel的示例详解

yizhihongxing

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日

相关文章

  • java实现计算周期性提醒的示例

    下面我将为大家详细讲解如何使用Java实现计算周期性提醒的示例,包括代码实现和演示两个示例。 如何实现周期性提醒 使用计时器:使用Java中自带的计时器类Timer,可以通过该类的schedule(TimerTask task, long delay, long period)方法,设置一个TimerTask任务和一个开始执行的延迟时间、执行周期。在该任务的…

    Java 2023年5月20日
    00
  • 一个例子带你看懂Java中synchronized关键字到底怎么用

    让我来详细讲解“一个例子带你看懂Java中synchronized关键字到底怎么用”的完整攻略。 完整攻略 什么是synchronized关键字? synchronized是Java中的一个关键字,用于线程之间的同步操作。它的作用是给代码块或方法加锁,保证同一时刻只有一个线程可以进入被加锁的代码块或方法。 synchronized关键字的用法 synchro…

    Java 2023年5月26日
    00
  • 教你如何在 javadoc 输出<> 符号

    当我们在撰写Java API文档时,有些类和方法的描述中可能涉及到尖括号(<和>)等特殊符号,但是当这些符号在javadoc中直接显示时会被解析为html标签,导致javadoc的显示不正常,影响使用。那么,如何在javadoc中输出这些特殊符号呢?下面是详细攻略: 1. 使用html实体字符 可以使用html实体字符来替代尖括号,其中大于号可用…

    Java 2023年5月26日
    00
  • Spring-IOC容器中的常用注解与使用方法详解

    Spring-IOC容器中的常用注解与使用方法详解 在Spring框架中,IOC容器是一个非常重要的组件,它负责管理应用程序中的所有Bean对象。在本文中,我们将介绍Spring-IOC容器中的常用注解及其使用方法,并提供两个示例说明。 常用注解 @Component @Component注解是Spring框架中最基本的注解之一,它用于将一个Java类声明为…

    Java 2023年5月18日
    00
  • Spring 中jdbcTemplate 实现执行多条sql语句示例

    Spring中jdbcTemplate实现执行多条sql语句示例 jdbcTemplate提供了批量操作的方法batchUpdate,可以一起执行多条sql语句。下面是一段示例代码: @Autowired private JdbcTemplate jdbcTemplate; … public void batchUpdate(List<String…

    Java 2023年6月16日
    00
  • Django使用paginator插件实现翻页功能的实例

    让我们来详细讲解如何使用Django的Paginator插件实现翻页功能的实例。 什么是Paginator插件 Paginator插件是Django自带的一个分页插件,可以方便地实现在查询数据时将结果按照指定条数进行分页显示,并提供了一个简单的分页导航栏,让用户方便快捷地在不同页面间进行切换。 Paginator插件的使用步骤 下面我们来一步一步地讲解如何使…

    Java 2023年6月16日
    00
  • spring boot 集成 shiro 自定义密码验证 自定义freemarker标签根据权限渲染不同页面(推荐

    Spring Boot 集成 Shiro 在 Spring Boot 中集成 Shiro 需要以下步骤: 引入依赖。在 pom.xml 中添加以下依赖: <dependency> <groupId>org.apache.shiro</groupId> <artifactId>shiro-spring</a…

    Java 2023年5月20日
    00
  • idea运行main方法或Test避免编译整个应用的实现方法

    要想在 IDEA 中运行 main 方法或 Test 时避免编译整个应用程序,可以使用以下两种方法: 方法一:使用 JUnit Platform 使用 JUnit Platform 可以大幅度提高测试运行速度。JUnit Platform 是一个简单易用的测试框架,它运行在单独的进程中,可以在测试时避免编译整个应用程序。 以下是使用 JUnit Platfo…

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