博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java通过POI为Excel添加数据验证
阅读量:7240 次
发布时间:2019-06-29

本文共 1907 字,大约阅读时间需要 6 分钟。

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

转载地址:http://vafbm.baihongyu.com/

你可能感兴趣的文章
用PWA来做一个天气应用
查看>>
js中的||与&&用法
查看>>
在线BASE64加密解密、UrlEncode编码/解码、native/ascii在线转换工具 -toolfk程序员工具网...
查看>>
重新认识RxJava系列之订阅流程源码分析
查看>>
Yarn小白入门
查看>>
IP地址
查看>>
【译】什么是SOLID原则(第1部分)
查看>>
07-jvm-查询命令-02
查看>>
Spring xml命名空间
查看>>
Java的值传递和引用传递
查看>>
DryRun神器
查看>>
LeeTCode 121 Best Time to Buy and Sell Stock 股票买卖最佳时间
查看>>
快速制作美观的微信公共号二维码?
查看>>
(十二)JAVA springboot ssm b2b2c多用户商城系统源码:使用Spring Cloud Sleuth和Zipkin进行分布式链路跟踪...
查看>>
云数据库POLARDB产品解读之二:如何做到高性价比
查看>>
直击KubeCon 2018 |云原生正在改变你的衣食住行
查看>>
拦截器
查看>>
多线程基础知识总结
查看>>
AWK 简明教程
查看>>
设置SPFILE中的参数值
查看>>