当前位置:首页 > Java

java如何读取excel

2026-02-04 13:21:43Java

读取Excel文件的常用方法

在Java中读取Excel文件通常使用Apache POI或JExcelAPI等库。以下是几种常见的实现方式:

使用Apache POI读取.xlsx文件(Excel 2007+格式)

Apache POI是处理Microsoft Office文档的流行库。对于.xlsx格式,使用XSSFWorkbook类:

import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFSheet;
import org.apache.poi.xssf.usermodel.XSSFRow;
import org.apache.poi.xssf.usermodel.XSSFCell;
import java.io.FileInputStream;

public class ReadExcel {
    public static void main(String[] args) {
        try (FileInputStream file = new FileInputStream("example.xlsx")) {
            XSSFWorkbook workbook = new XSSFWorkbook(file);
            XSSFSheet sheet = workbook.getSheetAt(0);

            for (int i = 0; i <= sheet.getLastRowNum(); i++) {
                XSSFRow row = sheet.getRow(i);
                for (int j = 0; j < row.getLastCellNum(); j++) {
                    XSSFCell cell = row.getCell(j);
                    System.out.print(cell.toString() + "\t");
                }
                System.out.println();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用Apache POI读取.xls文件(Excel 97-2003格式)

对于旧版Excel文件,使用HSSFWorkbook类:

import org.apache.poi.hssf.usermodel.HSSFWorkbook;
import org.apache.poi.hssf.usermodel.HSSFSheet;
import org.apache.poi.hssf.usermodel.HSSFRow;
import org.apache.poi.hssf.usermodel.HSSFCell;
import java.io.FileInputStream;

public class ReadOldExcel {
    public static void main(String[] args) {
        try (FileInputStream file = new FileInputStream("example.xls")) {
            HSSFWorkbook workbook = new HSSFWorkbook(file);
            HSSFSheet sheet = workbook.getSheetAt(0);

            for (int i = 0; i <= sheet.getLastRowNum(); i++) {
                HSSFRow row = sheet.getRow(i);
                for (int j = 0; j < row.getLastCellNum(); j++) {
                    HSSFCell cell = row.getCell(j);
                    System.out.print(cell.toString() + "\t");
                }
                System.out.println();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用EasyExcel读取大文件

对于大型Excel文件,阿里巴巴的EasyExcel库更高效:

import com.alibaba.excel.EasyExcel;
import java.util.List;

public class ReadLargeExcel {
    public static void main(String[] args) {
        String fileName = "large_example.xlsx";
        EasyExcel.read(fileName, DemoData.class, new DemoDataListener()).sheet().doRead();
    }
}

class DemoDataListener implements AnalysisEventListener<DemoData> {
    public void invoke(DemoData data, AnalysisContext context) {
        System.out.println(data);
    }
    public void doAfterAllAnalysed(AnalysisContext context) {}
}

处理不同单元格类型

读取单元格时需要处理不同类型的数据:

switch (cell.getCellType()) {
    case STRING:
        System.out.print(cell.getStringCellValue());
        break;
    case NUMERIC:
        System.out.print(cell.getNumericCellValue());
        break;
    case BOOLEAN:
        System.out.print(cell.getBooleanCellValue());
        break;
    default:
        System.out.print("");
}

Maven依赖配置

使用Apache POI需要添加以下依赖:

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

对于EasyExcel:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.1.3</version>
</dependency>

注意事项

  • 处理大文件时考虑使用流式读取(如EasyExcel)
  • 关闭工作簿和输入流防止资源泄漏
  • 处理空单元格和异常情况
  • 考虑使用try-with-resources语句自动关闭资源

java如何读取excel

标签: javaexcel
分享给朋友:

相关文章

java如何输出

java如何输出

输出到控制台 使用 System.out.println() 方法输出内容到控制台,适用于调试或简单信息展示。 示例代码: System.out.println("Hello, World!"…

java如何编程

java如何编程

Java编程基础 Java是一种面向对象的编程语言,广泛应用于企业级开发、移动应用(Android)等领域。以下是Java编程的核心步骤和示例。 环境搭建 安装JDK 从Oracle官网下载适合…

如何学java

如何学java

学习Java的基础知识 Java是一门面向对象的编程语言,掌握基础语法是入门的关键。需要了解变量、数据类型、运算符、控制结构(如if-else、for循环、while循环)、数组等概念。可以通过官方文…

如何学习java

如何学习java

学习Java的步骤 理解基础知识 从Java的基本语法开始,包括变量、数据类型、运算符、控制流(if-else、循环)等。掌握这些基础概念是后续学习的基石。 学习面向对象编程(OOP) Java是一…

如何配置java环境

如何配置java环境

下载JDK安装包 访问Oracle官网或OpenJDK官网,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。下载完成后,运行安装程序并按照提示完成安装。 设置环境变量 右…

如何卸载java

如何卸载java

卸载Java的步骤 Windows系统卸载方法 打开控制面板,选择“程序和功能”或“卸载程序”。在列表中找到Java相关条目(如“Java 8 Update 251”),右键选择卸载并跟随向导完成…