NO.88 POI升级至3.5以上后找不到org.apache.poi.hssf.util.HSSFDataValidation的问题之解决

本文记录了一次使用Apache POI库进行Excel文件操作时遇到的问题及解决方案。作者在将POI库从3.1版本升级到3.9版本后,遇到了HSSFDataValidation类找不到的问题。通过查阅API和尝试,最终通过更改导入语句并调整创建数据验证的方式解决了问题。

    今天挨个检查了工程中使用的jar包,把可以升级的一律升级为第二位最高的版本,其中将poi-3.1.jar升级至poi-3.9-20121203.jar后,某个方法报org.apache.poi.hssf.util.HSSFDataValidation找不到的错误。经查阅API加瞎蒙…搞定……

 

新增代码后加了注释//add 


//import org.apache.poi.hssf.util.HSSFDataValidation;
import org.apache.poi.hssf.usermodel.DVConstraint;//add
import org.apache.poi.hssf.usermodel.HSSFDataValidation;//add
import org.apache.poi.ss.util.CellRangeAddressList;//add hssf下也有个CellRangeAddressList,但Deprecated,要用ss这个
		
String formula = "$Z$1:$Z$" + gradeList.size();// 表示Z列1-N行作为下拉列表来源数据
// HSSFDataValidation dataValidation = new HSSFDataValidation((short) 1,
// (short) 1, (short) 300, (short) 1); //原顺序为 起始行 起始列 终止行 终止列
// dataValidation.setDataValidationType(HSSFDataValidation.DATA_TYPE_LIST);
// dataValidation.setFirstFormula(formula);
// dataValidation.setSecondFormula(null);

CellRangeAddressList regions = new CellRangeAddressList((short) 1,
		(short) 300, (short) 1, (short) 1);//add  新顺序为 起始行 终止行 起始列 终止列
DVConstraint constraint = DVConstraint.createFormulaListConstraint(formula);//add
HSSFDataValidation dataValidation = new HSSFDataValidation(regions,constraint);//add
		
dataValidation.createErrorBox("Error", "Error");
dataValidation.createPromptBox("", null);


评论 3
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值