excel单元格格式默认为【常规】,当某列限定必须从下拉框选择一个纯数字文本的时候,必须将单元格格式设置为【文本】。
否则即使输入的值和下拉框的一致,excel都认为输入的值是常规类型,而下拉框的值为数字文本类型,恒不相等。此时会提示
错误【输入值非法。其他用户已经限定了可以输入该单元格的数值】
这个时候,必须将单元格设置文本类型才不会出现类型匹配不正确的问题。
POI有方法直接用于设置单元格格式。
/**设置单元格格式为文本格式*/ HSSFCellStyle textStyle = workBook.createCellStyle(); HSSFDataFormat format = workBook.createDataFormat(); textStyle.setDataFormat(format.getFormat("@")); cell.setCellStyle(textStyle);//设置单元格格式为"文本" cell.setCellType(HSSFCell.CELL_TYPE_STRING);