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日

相关文章

  • 基于Java ORM框架的使用详解

    下面是关于“基于Java ORM框架的使用详解”的完整攻略。 一、了解ORM框架 ORM(对象关系映射)框架是为了方便Java程序员操作数据库而生的工具,它将Java对象与数据库表之间建立映射关系,通过操作Java对象的属性,实现对数据库表的增、删、改、查等操作。 常见的Java ORM框架有Hibernate、MyBatis、JPA等。其中,Hiberna…

    Java 2023年5月20日
    00
  • java+mysql实现登录和注册功能

    准备工作 在实现登录和注册功能之前,需要确保Java和MySQL都已经安装好。同时,还需要使用Java的一些开发环境,比如Eclipse或者IntelliJ IDEA,以及MySQL的一些管理工具,如phpMyAdmin或者Navicat。 创建数据库和数据表 首先,需要在MySQL中创建一个名为“mydb”的数据库。可以通过以下命令来实现: CREATE …

    Java 2023年5月19日
    00
  • 全面解析java中的hashtable

    全面解析java中的Hashtable 介绍 Hashtable是Java中提供的一种哈希表数据结构的实现,它实现了Map接口,采用键/值对的方式存储数据,并根据键的哈希值存储和访问数据,具有快速查找的优势。 Hashtable是线程安全的,因为它的所有方法都是同步的,但这也导致在高并发情况下性能较低,在JDK1.5之后,Java提供了ConcurrentH…

    Java 2023年5月26日
    00
  • Java 生成随机字符的示例代码

    生成随机字符可以使用Java中的Random类和StringBuilder类。Random类是Java中的随机数生成器,StringBuilder类用于构建字符串。 下面是生成随机字符的示例代码: import java.util.Random; public class RandomStringGenerator { private static fina…

    Java 2023年5月27日
    00
  • java简单实现数组的增删改查方法

    Java简单实现数组的增删改查方法 在Java中实现数组的增删改查方法,需要掌握以下几个步骤: 定义数组 定义数组需要指定数组的类型和数组的大小,如下所示: int[] arr = new int[10]; // 定义一个包含10个整数的数组 插入元素 要在数组中插入元素,需要给指定位置赋值,如下所示: arr[0] = 1; // 在第0个位置插入元素1 …

    Java 2023年5月26日
    00
  • Java程序中的延迟加载功能使用

    Java程序中延迟加载指的是在运行时不立即加载所有需要的类和资源,而是在需要时再进行加载,节省了内存使用,提高了程序的运行效率。常见的延迟加载方式主要有“懒加载”和“通过接口来实现延迟加载”的方式。下面就分别介绍这两种方法的使用。 懒加载实现 懒加载概念 懒加载(Lazy Loading),也称为延迟加载,是指实例在第一次使用时才会被创建,或者在需要使用的时…

    Java 2023年5月20日
    00
  • java7 新I/O知识点详解

    Java7 新 I/O 知识点详解 介绍 Java7 引入了一些新的 I/O(输入输出)特性,主要是为了优化文件 I/O 操作,使之更加高效和灵活。其中主要包括以下几个方面: 支持异步 I/O 操作的 NIO API 支持读取和写入字符串的 NIO API 自动资源管理(ARM)特性,即 try-with-resources 操作 文件系统的改进 下面将分别…

    Java 2023年5月24日
    00
  • 详解五种方式让你在java中读取properties文件内容不再是难题

    让我来详细讲解“详解五种方式让你在Java中读取properties文件内容不再是难题”的完整攻略。 一、背景知识 properties是Java中常用的一种配置文件格式,通常用来存储键-值对。在Java中,可以通过Properties类来读取和写入properties文件。 二、五种方式 1. 使用Properties类的load方法 可以使用Proper…

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