我正在使用POI在现有的电子表格中创建新的一行单元格。POI允许您获得列的默认样式,但与获取默认类型没有等效之处(据我所知)。我从我的用户界面得到一个字符串,我不知道如何设置单元格类型。如果字符串是双,那么很好,它是数字。但是,如果字符串指定日期,我如何最好地检测它,以便它也被设置为数字?日期有许多格式类型,从单元格样式格式中检测类型是不切实际的。POI是否支持一种基于格式的解析方法?
发布于 2015-04-30 22:56:48
若要设置您使用的单元格类型,请执行以下操作:
setCellType()
如文件中所述:
https://poi.apache.org/apidocs/
setCellType void setCellType(int cellType)设置单元格类型(数值、公式或字符串)。如果单元格当前包含一个值,则该值将被转换为与新类型匹配(如果可能)。但是,格式化通常会在此过程中丢失。如果要为数字单元格获取字符串值,请停止!这不是解决问题的方法。相反,要获取数值、布尔值或日期单元格的字符串值,请使用DataFormatter。 抛出: java.lang.IllegalArgumentException -如果指定的单元格类型无效java.lang.IllegalStateException -如果当前值不能转换为新类型,请参见: CELL_TYPE_NUMERIC、CELL_TYPE_STRING、CELL_TYPE_FORMULA、CELL_TYPE_BLANK、CELL_TYPE_BOOLEAN、CELL_TYPE_ERROR。
https://stackoverflow.com/questions/29979071
复制相似问题