Java导出excel下拉框大于255问题解决

博客内容概述:当使用Java导出Excel时遇到下拉框内容超过255个ASCII字符导致的错误,通过调整Office的名称管理器设置来解决问题。在WPS中可以直接创建,但在Office中需要注意名称不能以C开头。
摘要由CSDN通过智能技术生成

问题描述:下载导入模板excel中有下拉框,内容过多,报错 String literals in formulas can’t be bigger than 255 characters ASCII
解决方法:

// wk:工作薄,sheepPro:导出主表,nameList:数据
private void initSecondIndustryData(Workbook wk,
                                        HSSFSheet sheetPro,
                                        List<String> nameList) {
   
		// 创建名称管理器
		 Name namedCell = wk.createName();
        namedCell.setNameName("name");
        // 引用列,industry为上面创建的一张隐藏的sheet表,$A$2:$A$n,是此表中存放的数据
        namedCell.setRefersToFormula("industry!$A$2:$A$" + nameList.size());
        // 验证约束
        DVConstraint industryPrimaryConstraint = DVConstraint.createFormulaListConstraint("name");
        // 下拉框范围
CellRangeAddressList industryPrimaryRangeAddressList = new CellRangeAddressList(
                1,                  // 第一行
                INIT_MAX_ROW_NUM,           // 最后一行, 对前10000条数据增加数据序列
				NAME_NUM,   // 下拉框所在列
                NAME_NUM// 下拉框所在列
        );

   // 增加数据校验
        DataValidation primaryDataValidation = new HSSFDataValidation
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值