当前位置:首页 > 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 是一种广泛使用的编程语言,适用于开发各种类型的应用程序。以下是 Java 的基本使用方法,包括环境配置、语法基础和常用操作。 安装 Java 开发环境 下载并安装…

java如何编译

java如何编译

编译Java程序的基本步骤 安装JDK(Java Development Kit)并配置环境变量。确保javac和java命令可在命令行中运行。JDK是编译和运行Java程序的必备工具。 创建Ja…

java如何编程

java如何编程

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

java如何学习

java如何学习

学习Java的有效方法 理解基础概念 Java是一门面向对象的编程语言,掌握基础概念如变量、数据类型、运算符、控制语句(if-else、循环)是必要的。面向对象的核心概念包括类、对象、继承、多态和封装…

如何卸载java

如何卸载java

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

如何编写java程序

如何编写java程序

安装开发环境 下载并安装JDK(Java Development Kit),推荐从Oracle官网或OpenJDK获取最新版本。安装完成后配置环境变量,确保JAVA_HOME和PATH正确设置。 选…