java excel 多选下拉列表设置

 时间:2026-02-13 23:21:07

1、1、需要用到的jar包:

poi-3.10-FINAL.jar

poi-ooxml-3.10-FINAL.jar

poi-ooxml-schemas-3.10-FINAL.jar

gradle引入:

compile group: 'org.apache.poi', name: 'poi', version: '3.10'compile group: 'org.apache.poi', name: 'poi-ooxml', version: '3.10-FINAL'

java excel 多选下拉列表设置

2、public static HSSFWorkbook write(InputStream inputStream) throws IOException, ClassNotFoundException 

{        // 初始一个workbook

        HSSFWorkbook workbook = new HSSFWorkbook(inputStream);

        // 创建一个sheet        HSSFSheet sheet = workbook.getSheetAt(0);

        // 准备下拉列表数据        String[] strs = new String[] { "刘德华", "张学友", "黎明", "郭富城" };

        // 设置第一列的1-10行为下拉列表        CellRangeAddressList regions = new CellRangeAddressList(0, 9, 0, 0);

        // 创建下拉列表数据        DVConstraint constraint = DVConstraint.createExplicitListConstraint(strs);

        // 绑定        HSSFDataValidation dataValidation = new HSSFDataValidation(regions, constraint);

        sheet.addValidationData(dataValidation);

        return workbook;

    }

java excel 多选下拉列表设置

3、方案二

方案二的思路是在excel中添加一个隐藏的sheet存放数据源(下拉的数据),在真正需要下拉的sheet单元格写入属性。

1.需要使用到的util类

package com.excel.select;import java.io.InputStream;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFCellStyle;

import org.apache.poi.hssf.usermodel.HSSFClientAnchor;

import org.apache.poi.hssf.usermodel.HSSFFont;

import org.apache.poi.hssf.usermodel.HSSFRichTextString;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.HSSFColor;

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

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

import org.apache.poi.ss.usermodel.Comment;import org.apache.poi.ss.usermodel.Drawing;

import org.apache.poi.ss.usermodel.Font;import org.apache.poi.ss.usermodel.RichTextString;

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

java excel 多选下拉列表设置

4、2.Test类

package com.excel.select;

import java.io.FileOutputStream;

import org.apache.poi.hssf.usermodel.DVConstraint;

import org.apache.poi.hssf.usermodel.HSSFCell;

import org.apache.poi.hssf.usermodel.HSSFDataFormat;

import org.apache.poi.hssf.usermodel.HSSFDataValidation;

import org.apache.poi.hssf.usermodel.HSSFName;

import org.apache.poi.hssf.usermodel.HSSFRow;

import org.apache.poi.hssf.usermodel.HSSFSheet;

import org.apache.poi.hssf.usermodel.HSSFWorkbook;

import org.apache.poi.hssf.util.CellRangeAddressList;

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

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

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

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

java excel 多选下拉列表设置

  • Ubuntu关闭ipv6
  • 如何使用WPS Office 表格制作下拉选项框?
  • intellij idea如何连接H2数据库,详细教程
  • Excel 如何制作二级联动菜单
  • EXCEL在制作下拉菜单时如何快速定义区域名称
  • 热门搜索
    华为手机怎么隐藏应用 馄饨怎么包 碱性磷酸酶高是怎么回事 qq怎么恢复被删除的好友 起泡胶怎么做 香锅的做法 笨鸡的做法 欢乐斗地主怎么创房间 囝怎么读 西南大学怎么样