首页 文章

apache poi获取默认列类型

提问于
浏览
0

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

1 回答

  • 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

相关问题