当前位置:首页 > Java

java如何打开excel

2026-03-24 07:34:42Java

使用 Apache POI 库

Apache POI 是一个流行的 Java 库,用于处理 Microsoft Office 文件,包括 Excel。以下是使用 Apache POI 打开 Excel 文件的基本方法:

  1. 添加依赖
    在 Maven 项目中,添加以下依赖到 pom.xml

    <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>
  2. 打开 Excel 文件
    以下代码演示如何打开 .xlsx 文件(Excel 2007+格式):

    import org.apache.poi.ss.usermodel.*;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    import java.io.FileInputStream;
    import java.io.IOException;
    
    public class ExcelReader {
        public static void main(String[] args) {
            try (FileInputStream fis = new FileInputStream("example.xlsx");
                 Workbook workbook = new XSSFWorkbook(fis)) {
                Sheet sheet = workbook.getSheetAt(0); // 获取第一个工作表
                for (Row row : sheet) {
                    for (Cell cell : row) {
                        System.out.print(cell.toString() + "\t");
                    }
                    System.out.println();
                }
            } catch (IOException e) {
                e.printStackTrace();
            }
        }
    }

使用 JExcelAPI(适用于旧版 Excel)

JExcelAPI 是一个轻量级的库,适用于处理 .xls 格式(Excel 97-2003):

java如何打开excel

  1. 添加依赖
    Maven 依赖:

    <dependency>
        <groupId>net.sourceforge.jexcelapi</groupId>
        <artifactId>jxl</artifactId>
        <version>2.6.12</version>
    </dependency>
  2. 打开 Excel 文件
    示例代码:

    import jxl.Sheet;
    import jxl.Workbook;
    import jxl.read.biff.BiffException;
    import java.io.File;
    import java.io.IOException;
    
    public class JExcelExample {
        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++) {
                        System.out.print(sheet.getCell(col, row).getContents() + "\t");
                    }
                    System.out.println();
                }
                workbook.close();
            } catch (IOException | BiffException e) {
                e.printStackTrace();
            }
        }
    }

使用 EasyExcel(高性能库)

EasyExcel 是阿里开源的库,适合处理大文件:

java如何打开excel

  1. 添加依赖
    Maven 依赖:

    <dependency>
        <groupId>com.alibaba</groupId>
        <artifactId>easyexcel</artifactId>
        <version>3.3.2</version>
    </dependency>
  2. 定义数据模型
    创建一个类映射 Excel 数据:

    public class ExcelData {
        private String column1;
        private String column2;
        // 省略 getter/setter
    }
  3. 读取文件
    示例代码:

    import com.alibaba.excel.EasyExcel;
    import java.util.List;
    
    public class EasyExcelExample {
        public static void main(String[] args) {
            String fileName = "example.xlsx";
            List<ExcelData> dataList = EasyExcel.read(fileName)
                .head(ExcelData.class)
                .sheet()
                .doReadSync();
            dataList.forEach(System.out::println);
        }
    }

注意事项

  • 文件路径需使用绝对路径或确保相对路径正确。
  • 处理大文件时建议使用流式读取(如 EasyExcel 或 POI 的 SXSSFWorkbook)。
  • 写入文件后需调用 close() 释放资源,或使用 try-with-resources 语法。

标签: javaexcel
分享给朋友:

相关文章

java如何运行

java如何运行

运行Java程序的基本方法 Java程序的运行需要经过编写、编译和执行三个主要阶段。以下是具体步骤: 编写Java源代码 创建一个以.java为后缀的文件,例如HelloWorld.java。文件内…

java如何创建类

java如何创建类

创建类的基本语法 在Java中,类通过class关键字定义,语法如下: [访问修饰符] class 类名 { // 成员变量(属性) // 构造方法 // 成员方法 }…

如何运行java项目

如何运行java项目

运行Java项目的步骤 确保Java环境已安装 在运行Java项目前,需确认系统已安装Java Development Kit(JDK)。通过命令行输入java -version和javac -ver…

如何安装java软件

如何安装java软件

下载Java安装包 访问Oracle官方网站或OpenJDK开源项目页面,选择适合操作系统的Java版本(如Windows、macOS或Linux)。对于个人使用,通常下载JDK(Java Devel…

java如何解决高并发

java如何解决高并发

Java 高并发解决方案 使用线程池优化资源管理 线程池(如 ThreadPoolExecutor)能避免频繁创建和销毁线程的开销。通过核心线程数、最大线程数和任务队列的合理配置,可以平衡系统负载。例…

java中如何获取当前时间

java中如何获取当前时间

获取当前时间的几种方法 使用 java.time 包(Java 8及以上推荐) import java.time.LocalDateTime; LocalDateTime currentTime =…