java读取excel文件的两种方法

下面是详细讲解“Java读取Excel文件的两种方法”的完整攻略:

一、准备工作

在开始读取Excel文件之前,我们需要引入相关的依赖包。这里我们使用Apache POI来读取Excel文件,具体引入方式如下:

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

二、方法一:使用XSSFWorkbook读取Excel文件

XSSFWorkbook是Apache POI中用于读取XLSX格式的Excel文件的类,下面是示例代码:

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

import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;

public class ReadExcel {
    public static void main(String[] args) throws IOException {
        // 创建文件对象
        File excelFile = new File("test.xlsx");
        // 创建文件输入流
        FileInputStream fis = new FileInputStream(excelFile);
        // 创建工作簿对象
        XSSFWorkbook workbook = new XSSFWorkbook(fis);
        // 获取第一个sheet
        Sheet sheet = workbook.getSheetAt(0);

        // 循环每一行
        for (Row row : sheet) {
            // 循环每一列
            for (Cell cell : row) {
                // 输出单元格内容
                System.out.print(cell.toString() + "\t");
            }
            System.out.println();
        }

        // 关闭文件输入流
        fis.close();
    }
}

上面的代码用于读取test.xlsx文件中的一个Sheet,并输出每个单元格的内容到控制台。

三、方法二:使用CSV格式读取Excel文件

CSV是一种纯文本格式,它可以使用纯文本编辑器打开。它没有格网,没有单元格边框,没有字体颜色、粗细等样式,但是它非常适合存储简单的表格数据。

读取CSV格式的Excel文件的代码示例如下:

import java.io.BufferedReader;
import java.io.FileReader;
import java.io.IOException;

public class ReadExcel {
    public static void main(String[] args) throws IOException {
        // 创建文件对象
        FileReader fileReader = new FileReader("test.csv");
        // 创建文件输入流
        BufferedReader bufferedReader = new BufferedReader(fileReader);

        String line;
        // 逐行读取
        while ((line = bufferedReader.readLine()) != null) {
            // 输出每一行
            System.out.println(line);
        }

        // 关闭文件输入流
        bufferedReader.close();
    }
}

注意:这里的CSV格式是以逗号分隔的文件。如果你的CSV文件是以其他分隔符分隔的,需要在读取文件的时候传入对应的分隔符。

至此,我们就介绍了Java读取Excel文件的两种方法,希望对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:java读取excel文件的两种方法 - Python技术站

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

相关文章

  • java编程下字符串的16位,32位md5加密实现方法

    Java编程下字符串的16位、32位MD5加密实现方法 MD5(Message-Digest Algorithm 5)是一种哈希算法,常用于确保文件完整性以及验证数据传输完整性。MD5加密后,得到的结果是一个128位(32个十六进制字符)的字符串,可以选择后16位或者后32位作为加密结果。在Java编程中,我们可以使用Java自带的MessageDigest…

    Java 2023年5月27日
    00
  • Java Apache POI报错“IllegalArgumentException”的原因与解决办法

    “IllegalArgumentException”是Java的Apache POI类库中的一个异常,通常由以下原因之一引起: 参数错误:如果参数不正确,则可能会出现此异常。例如,可能会尝试使用错误的参数创建Excel单元格。 以下是两个实例: 例1 如果参数不正确,则可以尝试使用正确的参数以解决此问题。例如,在Java中,可以使用以下代码: Workboo…

    Java 2023年5月5日
    00
  • 什么是线程优先级?

    以下是关于线程优先级的完整使用攻略: 什么是线程优先级? 线程优先级是指线程在竞争 CPU 资源时的优先级。线程优先级越高,就有可能获得 CPU 资源,从而更快地执行任务。线程优先级的取值范围是 1~10,其中 1 表示低先级,10 表示最高优先级。 线程优先级的设置 线程优先级的设置需要使用 Thread 类的 setPriority() 方法来实现。在 …

    Java 2023年5月12日
    00
  • javaweb Servlet开发总结(二)

    下面是针对“javaweb Servlet开发总结(二)”的详细攻略: 1. Servlet生命周期 在Servlet的生命周期中,当第一个请求到来时,Servlet容器将构造一个Servlet实例,并调用init()方法对其进行初始化,接着调用service()方法对其进行服务处理。如果容器要求Servlet销毁,则调用destroy()方法,Servle…

    Java 2023年6月15日
    00
  • Java超详细整理讲解各种排序

    Java超详细整理讲解各种排序 本文详细讲解了Java中各种排序算法的实现方式及其时间复杂度。本文内容包括以下几个部分: 排序算法分类 冒泡排序 插入排序 选择排序 归并排序 快速排序 堆排序 排序算法分类 Java中的排序算法可以按照时间复杂度从小到大分为以下三类: 时间复杂度为O(n^2)的算法:冒泡排序、插入排序、选择排序 时间复杂度为O(nlogn)…

    Java 2023年5月19日
    00
  • 详解jvm对象的创建和分配

    我来为你详细讲解“详解jvm对象的创建和分配”的完整攻略。 什么是JVM? 首先,让我们来了解一下JVM是什么。JVM全称为Java Virtual Machine,即Java虚拟机,是Java程序的运行环境。JVM是Java应用程序与操作系统之间的一层抽象,负责管理程序的运行、内存分配等工作。 JVM对象的创建 在Java语言中,对象是通过new关键字来创…

    Java 2023年5月26日
    00
  • 基于@JsonFormat的导包问题

    接下来我会为你详细讲解“基于@JsonFormat的导包问题”的完整攻略。 1. 理解@JsonFormat注解 在讲解导包问题之前,我们首先要理解 @JsonFormat 注解的作用。它是一个Jackson库中的注解,用于控制序列化和反序列化日期格式。可以将其应用于Java类或字段上。@JsonFormat注解有多种属性可以调整日期格式,例如可以设置 pa…

    Java 2023年5月26日
    00
  • 详解Java语言中一个字符占几个字节?

    当谈到Java字符的字节数时,需要考虑字符集的影响。Java中默认的字符集是UTF-16,而不是8位的ASCII字符集。 在Java中,一个字符占用2个字节(16位),因为Java中的char数据类型是16位宽的。这意味着,无论字符实际需要多少字节存储,Java都会分配16位空间来存储它。注意:这不仅适用于Unicode字符,也适用于ASCII字符。 下面是…

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