apache poi获取默认列类型

时间:2015-04-30 22:46:50

标签: java apache apache-poi

我正在使用POI在现有电子表格中创建新的单元格行。 POI允许您获取列默认样式,但是没有等效(尽可能接近我)可以获得默认类型。我从我的用户界面获取一个String,我不知道如何设置单元格类型。如果字符串是double,那么很好,那就是NUMERIC。但是如果String指定了一个日期,我怎样才能最好地检测它,以便它也被设置为NUMERIC?日期有一些格式类型,从单元格样式格式中检测类型是不切实际的。 POI是否支持基于格式解析的方法?

1 个答案:

答案 0 :(得分:0)

设置您使用的单元格类型:

setCellType()

如文档中所述:

https://poi.apache.org/apidocs/

  
    

setCellType void setCellType(int cellType)设置单元格类型(数字,公式或字符串)。如果单元格当前包含值,     如果可能,将转换该值以匹配新类型。     但是,格式化通常会在此过程中丢失。

  
     

如果您要做的是获取数值单元格的String值,   停!。这不是这样做的方法。相反,用于获取字符串   数字或布尔或日期单元格的值,请改用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