当前位置:首页 > Java

java 如何打开excel

2026-03-26 02:38:03Java

使用 Apache POI 库读取 Excel 文件

Apache POI 是处理 Microsoft Office 文件(包括 Excel)的流行 Java 库。需要添加以下依赖:

<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>

读取 .xlsx 文件的代码示例:

import org.apache.poi.ss.usermodel.*;
import java.io.FileInputStream;

public class ExcelReader {
    public static void main(String[] args) {
        try (FileInputStream file = new FileInputStream("example.xlsx");
             Workbook workbook = WorkbookFactory.create(file)) {

            Sheet sheet = workbook.getSheetAt(0);
            for (Row row : sheet) {
                for (Cell cell : row) {
                    System.out.print(cell.toString() + "\t");
                }
                System.out.println();
            }
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 JExcelAPI 读取旧版 Excel 文件

对于 .xls 格式,可以使用 JExcelAPI(jxl):

java 如何打开excel

<dependency>
    <groupId>net.sourceforge.jexcelapi</groupId>
    <artifactId>jxl</artifactId>
    <version>2.6.12</version>
</dependency>

代码示例:

import jxl.*;
import java.io.File;

public class JExcelReader {
    public static void main(String[] args) {
        try {
            Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
            Sheet sheet = workbook.getSheet(0);

            for (int row = 0; row < sheet.getRows(); row++) {
                for (int col = 0; col < sheet.getColumns(); col++) {
                    Cell cell = sheet.getCell(col, row);
                    System.out.print(cell.getContents() + "\t");
                }
                System.out.println();
            }
            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 EasyExcel 处理大数据量

EasyExcel 适合处理大文件且内存占用低:

java 如何打开excel

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

读取示例:

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

public class EasyExcelReader {
    public static void main(String[] args) {
        String fileName = "example.xlsx";
        EasyExcel.read(fileName, new ExcelDataListener()).sheet().doRead();
    }
}

class ExcelDataListener implements AnalysisEventListener<List<String>> {
    @Override
    public void invoke(List<String> data, AnalysisContext context) {
        System.out.println(data);
    }
    @Override
    public void doAfterAllAnalysed(AnalysisContext context) {}
}

写入 Excel 文件

使用 Apache POI 写入 .xlsx 文件:

import org.apache.poi.xssf.usermodel.*;
import java.io.FileOutputStream;

public class ExcelWriter {
    public static void main(String[] args) {
        try (XSSFWorkbook workbook = new XSSFWorkbook();
             FileOutputStream out = new FileOutputStream("output.xlsx")) {

            XSSFSheet sheet = workbook.createSheet("Sheet1");
            XSSFRow row = sheet.createRow(0);
            row.createCell(0).setCellValue("Hello");
            row.createCell(1).setCellValue("World");

            workbook.write(out);
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

注意事项

处理 Excel 文件时需注意文件路径权限问题。不同库对 Excel 版本的支持有差异:Apache POI 支持 .xls.xlsx,而 JExcelAPI 仅支持 .xls。大数据量场景推荐使用 EasyExcel 或 Apache POI 的流式 API(SXSSFWorkbook)。

标签: javaexcel
分享给朋友:

相关文章

如何安装java

如何安装java

下载Java开发工具包(JDK) 访问Oracle官方网站或OpenJDK下载页面,选择适合操作系统的版本(Windows、macOS或Linux)。推荐下载最新的长期支持(LTS)版本,如Java…

java如何react

java如何react

在Java中使用React 要在Java项目中集成React,通常需要将React前端与Java后端结合使用。以下是几种常见的方法: 使用Spring Boot作为后端 Spring Boot是一个…

java如何删除文件

java如何删除文件

删除文件的基本方法 使用 java.io.File 类的 delete() 方法可以删除文件。如果文件存在且删除成功,返回 true;否则返回 false。 import java.io…

如何安装java环境

如何安装java环境

下载JDK安装包 访问Oracle官方网站或OpenJDK项目页面,选择适合操作系统的JDK版本(如Windows、macOS或Linux)。确保下载与系统架构匹配的版本(32位或64位)。 运行安…

java如何产生随机数

java如何产生随机数

使用 Math.random() 方法 Math.random() 生成一个范围在 [0.0, 1.0) 的伪随机 double 值。通过缩放和偏移可以生成指定范围的随机数。 double ra…

如何搭建java环境

如何搭建java环境

下载JDK 访问Oracle官网或OpenJDK官网下载适合操作系统的JDK安装包。推荐选择长期支持版本(如JDK 17或JDK 21)。 安装JDK 运行下载的安装程序,按照向导完成安装。注意…