当前位置:首页 > Java

java 如何导入excel

2026-03-03 08:19:22Java

导入Excel的方法

Java中导入Excel文件可以通过多种库实现,常见的有Apache POI、JExcelAPI和EasyExcel等。以下是几种主流方法的详细说明。

使用Apache POI导入Excel

Apache POI是处理Microsoft Office文件的主流库,支持.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 main(String[] args) throws Exception {
        String filePath = "example.xlsx";
        FileInputStream fis = new FileInputStream(filePath);
        Workbook workbook = WorkbookFactory.create(fis);
        Sheet sheet = workbook.getSheetAt(0);

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

使用EasyExcel导入Excel

EasyExcel是阿里开源的Excel处理工具,适合大数据量场景,内存占用低。

添加依赖(Maven)

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

读取Excel示例

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

public class EasyExcelReader {
    public static void main(String[] args) {
        String fileName = "example.xlsx";
        List<Object> data = EasyExcel.read(fileName).sheet().doReadSync();
        data.forEach(System.out::println);
    }
}

使用JExcelAPI导入Excel

JExcelAPI适合处理.xls格式,API较为简单。

添加依赖(Maven)

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

读取.xls文件示例

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

public class JExcelReader {
    public static void main(String[] args) throws Exception {
        Workbook workbook = Workbook.getWorkbook(new File("example.xls"));
        Sheet sheet = workbook.getSheet(0);
        for (int i = 0; i < sheet.getRows(); i++) {
            for (int j = 0; j < sheet.getColumns(); j++) {
                System.out.print(sheet.getCell(j, i).getContents() + "\t");
            }
            System.out.println();
        }
        workbook.close();
    }
}

处理大数据量的优化建议

对于大型Excel文件(如超过10万行),建议采用以下优化措施:

Apache POI的SAX模式

import org.apache.poi.xssf.eventusermodel.XSSFReader;
import org.apache.poi.openxml4j.opc.OPCPackage;

OPCPackage pkg = OPCPackage.open("large.xlsx");
XSSFReader reader = new XSSFReader(pkg);
// 使用XML解析器逐行处理数据

EasyExcel的监听器模式

EasyExcel.read("large.xlsx", DemoData.class, new AnalysisEventListener<DemoData>() {
    @Override
    public void invoke(DemoData data, AnalysisContext context) {
        // 逐行处理
    }
}).sheet().doRead();

格式兼容性注意事项

  1. .xls(HSSF)和.xlsx(XSSF/SXSSF)需使用不同的POI类
  2. 日期格式需特殊处理:Cell.getDateCellValue()
  3. 公式单元格需评估:DataFormatter.formatCellValue(cell, formulaEvaluator)

以上方法覆盖了从传统格式到现代格式的Excel导入需求,开发者可根据项目规模、性能要求和维护成本选择合适方案。

java 如何导入excel

标签: javaexcel
分享给朋友:

相关文章

java如何创建对象

java如何创建对象

创建对象的基本方法 在Java中,创建对象主要通过new关键字调用构造函数完成。基本语法为: ClassName objectName = new ClassName(); 例如创建String对象…

java如何输入数据

java如何输入数据

输入数据的方法 在Java中,输入数据可以通过多种方式实现,具体取决于输入来源(如控制台、文件、网络等)。以下是几种常见的方法: 使用Scanner类从控制台输入 Scanner类是Java中最常用…

如何运行java项目

如何运行java项目

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

java如何生成随机数

java如何生成随机数

生成随机数的方法 在Java中生成随机数可以通过多种方式实现,以下是几种常见的方法: 使用Math.random()方法 Math.random()方法返回一个double类型的伪随机数,范围在[…

java如何导入jar包

java如何导入jar包

在Eclipse中导入JAR包 右键项目 -> 选择"Properties" -> 左侧导航选择"Java Build Path" -> 切换到"Libraries"标签 ->…

java如何调用另一个类的方法

java如何调用另一个类的方法

调用另一个类的方法 在Java中调用另一个类的方法,通常需要创建该类的对象或直接通过类名调用(静态方法)。以下是几种常见的方式: 通过对象实例调用实例方法 创建一个目标类的对象,通过对象调用其方法…