Java Excel导入导出数据校验

Java可以使用Apache POI库进行Excel导入导出数据校验,通过设置单元格的有效性规则和触发器来实现。

Java Excel导入导出

导入Excel

1、使用Apache POI库

Java Excel导入导出数据校验

Apache POI是一个用于操作Microsoft Office文档的Java库,支持读取和写入Excel文件。

步骤:

1、1 添加依赖

在项目的pom.xml文件中添加Apache POI依赖:

Java Excel导入导出数据校验

<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>4.1.2</version>
</dependency>
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poiooxml</artifactId>
    <version>4.1.2</version>
</dependency>

1、2 读取Excel文件

import org.apache.poi.ss.usermodel.*;
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.List;
public class ExcelReader {
    public static void main(String[] args) {
        String filePath = "example.xlsx";
        try {
            FileInputStream inputStream = new FileInputStream(new File(filePath));
            Workbook workbook = new XSSFWorkbook(inputStream);
            Sheet sheet = workbook.getSheetAt(0);
            List<List<Object>> data = readData(sheet);
            for (List<Object> row : data) {
                for (Object cell : row) {
                    System.out.print(cell + "t");
                }
                System.out.println();
            }
            workbook.close();
            inputStream.close();
        } catch (IOException e) {
            e.printStackTrace();
        }
    }
    private static List<List<Object>> readData(Sheet sheet) {
        List<List<Object>> data = new ArrayList<>();
        for (int i = sheet.getFirstRowNum(); i <= sheet.getLastRowNum(); i++) {
            Row row = sheet.getRow(i);
            if (row == null) {
                continue;
            }
            List<Object> rowData = new ArrayList<>();
            for (int j = row.getFirstCellNum(); j < row.getLastCellNum(); j++) {
                Cell cell = row.getCell(j);
                if (cell == null) {
                    rowData.add("");
                } else {
                    rowData.add(getCellValue(cell));
                }
            }
            data.add(rowData);
        }
        return data;
    }
    private static Object getCellValue(Cell cell) {
        switch (cell.getCellType()) {
            case STRING:
                return cell.getStringCellValue();
            case NUMERIC:
                return cell.getNumericCellValue();
            case BOOLEAN:
                return cell.getBooleanCellValue();
            default:
                return null;
        }
    }
}

2、使用EasyExcel库(推荐)

EasyExcel是一个基于Apache POI的轻量级读写Excel库,简化了Excel操作,推荐使用EasyExcel进行Excel导入导出操作。

步骤:

Java Excel导入导出数据校验

2、1 添加依赖(以Maven为例)

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

2、2 读取Excel文件(以读取为例)

import com.alibaba.excel.EasyExcel;
import com.alibaba.excel.read.listener.ReadListener;
import com.alibaba.excel.read.metadata.ReadSheet;
import com.alibaba.excel.read.metadata.ReadWorkbook;
import com.alibaba.excel.read.metadata.holder.*;
import com.alibaba.excel.read.metadata.holder.ReadSheetHolder;
import com.alibaba.excel.read.metadata.holder.ReadTableHolder;
import com.alibaba.excel.read.metadata.holder.ReadWorkbookHolder;
import com.alibaba.excel.read.metadata.holder.*; // 注意这里要导入多个包,否则会报错!因为每个包下面都有ReadSheetHolder类,需要指定具体的包名,comma, colon, semicolon, slash, backslash, question, exclamation, period, asterisk, underscore, plus, minus, equals, greater, less, double_quote, single_quote, left_parenthesis, right_parenthesis, vertical_bar, ampersand, pipe, caret, dollar, percent, hash, at, left_brace, right_brace, left_bracket, right_bracket, backtick, quotemark, apostrophe, single_quoted_argument, double_quoted_argument, whitespace, space, tab, form_feed, newline, carriage_return, horizontal_tab, vertical_tab, backslashN, backspace

原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/645171.html

本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。

(0)
未希新媒体运营
上一篇 2024-05-22 18:25
下一篇 2024-05-22 18:26

相关推荐

  • Countif函数是什么?如何使用它?

    Countif函数是什么函数?Countif函数的使用方法简介一、基本概述COUNTIF函数是Excel中的一种统计函数,用于计算满足特定条件的单元格数量,该函数广泛应用于数据分析和处理领域,能够帮助用户快速统计符合某一条件的记录数,二、基本语法COUNTIF(range, criteria)range:要计数……

    2024-11-24
    06
  • 你知道EXCEL中合并单元格的快捷键是什么吗?

    Excel合并单元格快捷键介绍在日常办公中,Excel作为一款强大的数据处理工具,被广泛应用于各种领域,无论是制作报表、统计数据还是进行数据分析,Excel都能提供高效便捷的解决方案,本文将详细介绍Excel中的合并单元格功能及其快捷键,并探讨其在实际工作中的应用价值,一、Excel简介Excel是微软公司推出……

    2024-11-24
    06
  • 如何在Excel中截取字符串?探索excel截取字符串教程

    Excel的如何截取字符串?excel截取字符串教程背景介绍在数据分析和处理过程中,经常需要从大量文本数据中提取特定信息,Excel作为一款功能强大的数据处理工具,提供了多种方法用于截取字符串,本文将详细介绍几种常见的截取字符串的方法,包括使用公式、函数以及VBA宏,帮助大家更高效地处理数据,LEFT、RIGH……

    2024-11-24
    05
  • 如何利用Java实现CDN缓存优化?

    java中的cdn缓存可以通过使用第三方库如spring framework实现,通过配置cdn服务器的地址和相关参数,可以实现对静态资源的加速访问。

    2024-11-22
    07

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

产品购买 QQ咨询 微信咨询 SEO优化
分享本页
返回顶部
云产品限时秒杀。精选云产品高防服务器,20M大带宽限量抢购 >>点击进入