当前位置:首页 > 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)

java 如何导入excel

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

java 如何导入excel

<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导入需求,开发者可根据项目规模、性能要求和维护成本选择合适方案。

标签: javaexcel
分享给朋友:

相关文章

如何删除java

如何删除java

卸载 Java 的步骤 Windows 系统: 打开控制面板,选择“程序和功能”或“卸载程序”,在列表中找到 Java 相关条目(如“Java Runtime Environment”或“Java D…

如何学习java

如何学习java

学习Java的步骤 理解基础知识 从Java的基本语法开始,包括变量、数据类型、运算符、控制流(if-else、循环)等。掌握这些基础概念是后续学习的基石。 学习面向对象编程(OOP) Java是一…

如何选择java培训

如何选择java培训

评估培训机构资质 选择有正规资质的机构,查看其营业执照、办学许可证等。优先考虑具备人力资源和社会保障部或教育部认证的机构,这类机构的教学质量和课程设置通常更规范。 考察课程内容与行业需求匹配度…

java中如何获取当前时间

java中如何获取当前时间

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

如何阅读java源码

如何阅读java源码

阅读Java源码的方法 选择合适的源码项目 初学者建议从JDK核心类库(如java.lang、java.util)或知名开源项目(如Spring、Guava)入手。选择文档完善、社区活跃的项目能降低理…

java下载功能vue实现

java下载功能vue实现

Java 后端文件下载功能实现 后端需提供文件下载的接口,通常使用 HttpServletResponse 实现。以下是一个简单的 Java Spring Boot 示例: @GetMapping(…