Java 基础教程

Java 面向对象

Java 高级教程

Java 笔记

Java FAQ

java导入excel数据


在 Java 中导入 Excel 数据有多种实现方式,其中常用的包括 Apache POI、JExcelApi 和 EasyExcel。下面我会详细介绍这三种方式的步骤流程,包括 Maven 和 Gradle 的依赖坐标,以及示例代码。

使用 Apache POI

步骤流程

  1. 添加 Maven 或 Gradle 依赖。
  2. 创建 Workbook 对象,打开 Excel 文件。
  3. 获取 Sheet 对象,定位到具体的工作表。
  4. 遍历行和单元格,读取数据。

依赖坐标

Maven:

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>5.0.0</version>
</dependency>

Gradle:

implementation 'org.apache.poi:poi:5.0.0'

示例代码

import org.apache.poi.ss.usermodel.*;

import java.io.FileInputStream;
import java.io.InputStream;

public class ApachePOIExample {
    public static void main(String[] args) {
        try (InputStream inputStream = new FileInputStream("example.xlsx")) {
            Workbook workbook = WorkbookFactory.create(inputStream);
            Sheet sheet = workbook.getSheetAt(0); // Assuming the first sheet

            for (Row row : sheet) {
                for (Cell cell : row) {
                    String cellValue = cell.getStringCellValue();
                    System.out.print(cellValue + "\t");
                }
                System.out.println();
            }

            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 JExcelApi

步骤流程

  1. 添加 Maven 或 Gradle 依赖。
  2. 创建 Workbook 对象,打开 Excel 文件。
  3. 获取 Sheet 对象,定位到具体的工作表。
  4. 遍历行和单元格,读取数据。

依赖坐标

Maven:

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

Gradle:

implementation 'net.sourceforge.jexcelapi:jxl:2.6.12'

示例代码

import jxl.Cell;
import jxl.Sheet;
import jxl.Workbook;

import java.io.File;

public class JExcelApiExample {
    public static void main(String[] args) {
        try {
            File file = new File("example.xls");
            Workbook workbook = Workbook.getWorkbook(file);
            Sheet sheet = workbook.getSheet(0); // Assuming the first sheet

            for (int row = 0; row < sheet.getRows(); row++) {
                for (int col = 0; col < sheet.getColumns(); col++) {
                    Cell cell = sheet.getCell(col, row);
                    String cellValue = cell.getContents();
                    System.out.print(cellValue + "\t");
                }
                System.out.println();
            }

            workbook.close();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }
}

使用 EasyExcel

步骤流程

  1. 添加 Maven 或 Gradle 依赖。
  2. 创建 ReadListener 或 ReadSheet 对象,实现数据读取逻辑。
  3. 执行读取操作,读取 Excel 数据。

依赖坐标

Maven:

<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>easyexcel</artifactId>
    <version>3.0.0-beta6</version>
</dependency>

Gradle:

implementation 'com.alibaba:easyexcel:3.0.0-beta6'

示例代码

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.context.AnalysisContext;
import com.alibaba.excel.event.AnalysisEventListener;

import java.util.ArrayList;
import java.util.List;

public class EasyExcelExample {
    public static void main(String[] args) {
        String filePath = "example.xlsx";
        EasyExcel.read(filePath, new ExcelListener()).sheet().doRead();
    }

    static class ExcelListener extends AnalysisEventListener<List<String>> {
        private List<List<String>> dataList = new ArrayList<>();

        @Override
        public void invoke(List<String> rowData, AnalysisContext context) {
            dataList.add(rowData);
        }

        @Override
        public void doAfterAllAnalysed(AnalysisContext context) {
            for (List<String> row : dataList) {
                for (String cellValue : row) {
                    System.out.print(cellValue + "\t");
                }
                System.out.println();
            }
        }
    }
}

这些是导入 Excel 数据的三种常用实现方式,你可以根据需求选择其中一种适合的方法。每种方法都有其特点和优劣势,具体选择取决于项目需求和个人偏好。

在Java中实现Excel导入功能有多种方式,以下是几种常见的实现方式,每种方式都包含了步骤流程、依赖坐标和示例代码。Maven依赖:Gra ...
以下是一些常见的实现方式,包括使用ApachePOI和EasyExcel这两个常用的Java第三方库。从Excel文件导入数据###Mave ...
在Java中导入带有图片的Excel文件可以使用多种方式实现,以下是其中两种常见的方式:###使用ApachePOI库ApachePOI是一 ...
实现MySQL数据导入Elasticsearch的方式:###使用Logstash进行数据导入Logstash是一个开源的数据收集和处理引擎 ...
在Java中写入Excel数据有多种方式,下面将介绍使用两个流行的Java库来实现这个目标:ApachePOI和jExcelApi。以下是使 ...