Java通过POI为Excel添加数据验证

简介:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
String path = "d:\\success.xlsx";
        String sheetName = "sheetlist";
 
        XSSFWorkbook wb = null;
        XSSFSheet sheetlist = null;
 
        File inputFile = new File(path);
        if (inputFile.exists()) {
            wb = new XSSFWorkbook(new FileInputStream(path));
        else {
            wb = new XSSFWorkbook();// excel文件对象
        }
 
        if (wb.getSheet(sheetName) == null) {
            sheetlist = wb.createSheet(sheetName);// 工作表对象
        else {
            sheetlist = wb.getSheet(sheetName);// 工作表对象
        }
 
        DataValidationHelper helper = sheetlist.getDataValidationHelper();
 
        List<XSSFDataValidation> dataValidations = sheetlist.getDataValidations();
        for (XSSFDataValidation dv : dataValidations) {
            // 已有的验证
        }
 
        //
        CellRangeAddressList dstAddrList = new CellRangeAddressList(050000);// 规则一单元格范围
        String[] textlist = { "列表1""列表2""列表3""列表4""列表5" };
        DataValidation dstDataValidation = helper.createValidation(helper.createExplicitListConstraint(textlist),
                dstAddrList);
        dstDataValidation.createPromptBox("提示头""提示内容");
        dstDataValidation.setShowErrorBox(true);
        dstDataValidation.setShowPromptBox(true);
        dstDataValidation.setEmptyCellAllowed(false);
        sheetlist.addValidationData(dstDataValidation);
 
        CellRangeAddressList dstAddrList2 = new CellRangeAddressList(050011);// 规则二单元格范围
        DataValidationConstraint dvc = helper.createNumericConstraint(DVConstraint.ValidationType.INTEGER,
                DVConstraint.OperatorType.BETWEEN, "0""9999999999");
        DataValidation dstDataValidation2 = helper.createValidation(dvc, dstAddrList2);
        dstDataValidation2.createErrorBox("填错输啦!""只能填那个啥啥啥");
        dstDataValidation2.setEmptyCellAllowed(false);
        dstDataValidation2.setShowErrorBox(true);
 
        sheetlist.addValidationData(dstDataValidation2);
 
        FileOutputStream out = new FileOutputStream(path);
        wb.write(out);
        out.close();

本文转自   zl1030   51CTO博客,原文链接:http://blog.51cto.com/zl1030/1877490
相关实践学习
基于Hologres轻量实时的高性能OLAP分析
本教程基于GitHub Archive公开数据集,通过DataWorks将GitHub中的项⽬、行为等20多种事件类型数据实时采集至Hologres进行分析,同时使用DataV内置模板,快速搭建实时可视化数据大屏,从开发者、项⽬、编程语⾔等多个维度了解GitHub实时数据变化情况。
阿里云实时数仓实战 - 用户行为数仓搭建
课程简介 1)学习搭建一个数据仓库的过程,理解数据在整个数仓架构的从采集、存储、计算、输出、展示的整个业务流程。 2)整个数仓体系完全搭建在阿里云架构上,理解并学会运用各个服务组件,了解各个组件之间如何配合联动。 3&nbsp;)前置知识要求:熟练掌握 SQL 语法熟悉 Linux 命令,对 Hadoop 大数据体系有一定的了解 &nbsp; 课程大纲 第一章&nbsp;了解数据仓库概念 初步了解数据仓库是干什么的 第二章&nbsp;按照企业开发的标准去搭建一个数据仓库 数据仓库的需求是什么 架构 怎么选型怎么购买服务器 第三章&nbsp;数据生成模块 用户形成数据的一个准备 按照企业的标准,准备了十一张用户行为表 方便使用 第四章&nbsp;采集模块的搭建 购买阿里云服务器 安装 JDK 安装 Flume 第五章&nbsp;用户行为数据仓库 严格按照企业的标准开发 第六章&nbsp;搭建业务数仓理论基础和对表的分类同步 第七章&nbsp;业务数仓的搭建&nbsp; 业务行为数仓效果图&nbsp;&nbsp;
相关文章
|
Java API Apache
Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
【10月更文挑战第29天】Java编程如何读取Word文档里的Excel表格,并在保存文本内容时保留表格的样式?
1322 5
|
人工智能 自然语言处理 Java
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
FastExcel 是一款基于 Java 的高性能 Excel 处理工具,专注于优化大规模数据处理,提供简洁易用的 API 和流式操作能力,支持从 EasyExcel 无缝迁移。
4113 65
FastExcel:开源的 JAVA 解析 Excel 工具,集成 AI 通过自然语言处理 Excel 文件,完全兼容 EasyExcel
|
Java BI API
Java Excel报表生成:JXLS库的高效应用
在Java应用开发中,经常需要将数据导出到Excel文件中,以便于数据的分析和共享。JXLS库是一个强大的工具,它基于Apache POI,提供了一种简单而高效的方式来生成Excel报表。本文将详细介绍JXLS库的使用方法和技巧,帮助你快速掌握Java中的Excel导出功能。
842 6
|
存储 Java API
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
Java实现导出多个excel表打包到zip文件中,供客户端另存为窗口下载
1226 4
|
Java API Apache
|
存储 Java
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
java的Excel导出,数组与业务字典匹配并去掉最后一个逗号
356 2
|
存储 Java Apache
|
easyexcel Java 关系型数据库
阿里巴巴-EasyExcel 基于Java的简单、省内存的读写Excel
该文章主要介绍了在Java应用中如何使用EasyExcel技术完成对Excel文件的导入和导出操作,包括环境搭建、基本概念、快速入门、进阶操作和综合应用等内容,并提供了相关代码示例和注意事项。
 阿里巴巴-EasyExcel 基于Java的简单、省内存的读写Excel
|
前端开发 JavaScript Java
导出excel的两个方式:前端vue+XLSX 导出excel,vue+后端POI 导出excel,并进行分析、比较
这篇文章介绍了使用前端Vue框架结合XLSX库和后端结合Apache POI库导出Excel文件的两种方法,并对比分析了它们的优缺点。
3158 0
|
Java 数据安全/隐私保护
Java无模版导出Excel 0基础教程
经常写数据导出到EXCEL,没有模板的情况下使用POI技术。以此作为记录,以后方便使用。 2 工具类 样式工具: 处理工具Java接口 水印工具 导出Excel工具类 3 测试代码 与实际复杂业务不同 在此我们只做模拟 Controller Service 4 导出测试 使用Postman进行接口测试,没接触过Postman的小伙伴可以看我这篇博客Postman导出excel文件保存为文件可以看到导出很成功,包括水印 sheet页名称自适应宽度。还有一些高亮……等功能可以直接搜索使用
560 0
Java无模版导出Excel 0基础教程