zoukankan      html  css  js  c++  java
  • java poi导出excel设置下拉选择框

    基本的过程就是设置一个下拉选择框的校验,然后绑定到sheet的指定格子上。XSS和HSS的方式有些许不同,但是原理是一样的。代码示例如下:

            //性别
            String[] datas = new String[]{"",""};
            if(excelType.equals(ExcelTypeEnum.XLSX)){
                //数据验证帮助程序
                XSSFDataValidationHelper dvHelper2 = new XSSFDataValidationHelper((XSSFSheet) sheet);
                XSSFDataValidationConstraint dvConstraint2 = (XSSFDataValidationConstraint) dvHelper2.createExplicitListConstraint(datas);
                CellRangeAddressList regions2 =new CellRangeAddressList(1, 5000, 2, 2);
                XSSFDataValidation dataValidation2 =  (XSSFDataValidation) dvHelper2.createValidation( dvConstraint2, regions2);
                sheet.addValidationData(dataValidation2);
            }else{
                //性别
                // 设置第5列的2-5000行为下拉列表
                CellRangeAddressList regions2 = new CellRangeAddressList(1, 5000, 2, 2);
                // 创建下拉列表数据
                DVConstraint constraint2 = DVConstraint.createExplicitListConstraint(datas);
                // 绑定
                HSSFDataValidation dataValidation2 = new HSSFDataValidation(regions2, constraint2);
                sheet.addValidationData(dataValidation2);
            }

    ------------

    完整的一个示例代码如下。导入包后可以直接运行实验。

    package com.insigma;
    import java.io.FileOutputStream;
    
    import org.apache.poi.ss.util.CellRangeAddressList;
    import org.apache.poi.xssf.usermodel.XSSFDataValidation;
    import org.apache.poi.xssf.usermodel.XSSFDataValidationConstraint;
    import org.apache.poi.xssf.usermodel.XSSFDataValidationHelper;
    import org.apache.poi.xssf.usermodel.XSSFSheet;
    import org.apache.poi.xssf.usermodel.XSSFWorkbook;
    
    public class ExcelTest {
        public static void main(String[] args) {
            try{
                dropDownList42007("D:\test.xlsx");
            }catch (Exception e) {
                e.printStackTrace();
            }
        }
        public static void dropDownList42007(String filePath)  throws Exception {
            XSSFWorkbook workbook = new XSSFWorkbook();
            XSSFSheet sheet = workbook.createSheet("下拉列表测试");
            String[] datas = new String[] {"",""};
            XSSFDataValidationHelper dvHelper = new XSSFDataValidationHelper(sheet);
            XSSFDataValidationConstraint dvConstraint = (XSSFDataValidationConstraint) dvHelper.createExplicitListConstraint(datas);
            CellRangeAddressList addressList =  new CellRangeAddressList(0, 100, 0, 0);
            XSSFDataValidation validation  = (XSSFDataValidation) dvHelper.createValidation( dvConstraint, addressList);
            sheet.addValidationData(validation);
            FileOutputStream stream = new FileOutputStream(filePath);
            workbook.write(stream);
            stream.close();
        }
    }

    -----------------

    学如逆水行舟,不进则退
  • 相关阅读:
    ZOJ 3769 Diablo III(分组背包)
    HDU 1712 ACboy needs your help(分组背包入门题)
    POJ 1170 Shopping Offers(完全背包+哈希)
    HDU 4489 The King’s Ups and Downs
    [转] LINUX 三种网络连接模式
    [转] 软件架构
    [转] 支付宝系统架构内部剖析
    [转] pip镜像升级报警 -trust-host问题解决方案
    [转] Linux 查找文件内容
    [转] CentOS系统目录学习
  • 原文地址:https://www.cnblogs.com/anningkang/p/14707592.html
Copyright © 2011-2022 走看看