当前位置:首页 > Java

java如何导入excel

2026-02-04 21:28:45Java

使用Apache POI库导入Excel

Apache POI是Java处理Microsoft Office格式文件的流行库,支持Excel的.xls.xlsx格式。

添加Maven依赖:

<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 readExcel(String filePath) throws Exception {
        Workbook workbook = WorkbookFactory.create(new FileInputStream(filePath));
        Sheet sheet = workbook.getSheetAt(0);

        for (Row row : sheet) {
            for (Cell cell : row) {
                System.out.print(cell.toString() + "\t");
            }
            System.out.println();
        }
        workbook.close();
    }
}

使用EasyExcel处理大数据量

阿里巴巴的EasyExcel专门优化了大文件读取,内存消耗更低。

添加Maven依赖:

java如何导入excel

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

使用监听器模式读取:

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ReadListener;

public class ExcelReader {
    public static void readLargeExcel(String filePath) {
        EasyExcel.read(filePath, DemoData.class, new ReadListener<DemoData>() {
            public void invoke(DemoData data, AnalysisContext context) {
                System.out.println(data);
            }
            public void doAfterAllAnalysed(AnalysisContext context) {}
        }).sheet().doRead();
    }
}

使用JExcelAPI处理老格式文件

JExcelAPI适合处理.xls格式的老版本Excel文件。

添加Maven依赖:

java如何导入excel

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

读取示例:

import jxl.Sheet;
import jxl.Workbook;
import java.io.File;

public class ExcelReader {
    public static void readXls(String filePath) throws Exception {
        Workbook workbook = Workbook.getWorkbook(new File(filePath));
        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();
    }
}

处理不同类型单元格数据

读取时需要区分不同单元格类型:

Cell cell = row.getCell(0);
switch (cell.getCellType()) {
    case STRING:
        System.out.println(cell.getStringCellValue());
        break;
    case NUMERIC:
        if (DateUtil.isCellDateFormatted(cell)) {
            System.out.println(cell.getDateCellValue());
        } else {
            System.out.println(cell.getNumericCellValue());
        }
        break;
    case BOOLEAN:
        System.out.println(cell.getBooleanCellValue());
        break;
    case FORMULA:
        System.out.println(cell.getCellFormula());
        break;
    default:
        System.out.println("");
}

性能优化建议

对于大文件处理,采用流式读取模式:

import org.apache.poi.xssf.streaming.SXSSFWorkbook;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;

public class ExcelReader {
    public static void streamRead(String filePath) throws Exception {
        Workbook workbook = new XSSFWorkbook(new FileInputStream(filePath));
        Sheet sheet = workbook.getSheetAt(0);

        Iterator<Row> rowIterator = sheet.iterator();
        while (rowIterator.hasNext()) {
            Row row = rowIterator.next();
            // 处理行数据
        }
        workbook.close();
    }
}

标签: javaexcel
分享给朋友:

相关文章

java如何编程

java如何编程

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

如何编译java文件

如何编译java文件

安装JDK 确保系统已安装Java Development Kit(JDK)。可通过命令行输入 javac -version 和 java -version 验证。若未安装,需从Oracle或Open…

如何学好java

如何学好java

理解基础概念 掌握Java的核心概念是学习的基础。包括数据类型、变量、运算符、控制流(如循环和条件语句)、数组等。理解面向对象编程(OOP)的四大特性:封装、继承、多态和抽象。 实践编程练习 通过实…

如何配置java环境变量

如何配置java环境变量

下载并安装JDK 从Oracle官网或OpenJDK项目下载适合操作系统的JDK安装包。运行安装程序,按照提示完成安装,默认路径通常为C:\Program Files\Java\jdk-版本号。 配…

java如何遍历map

java如何遍历map

遍历Map的几种方法 在Java中,遍历Map有多种方式,可以根据需求选择合适的方法。以下是常见的几种遍历方式: 使用entrySet遍历 通过entrySet()方法获取键值对的集合,可以同时访问…

java如何调试

java如何调试

调试Java程序的基本方法 使用IDE内置的调试工具(如IntelliJ IDEA或Eclipse)是最常见的方式。在代码行号旁点击设置断点,启动调试模式后,程序会在断点处暂停,允许查看变量值、调用栈…