用过Jxl或者POI导入Excel信息的朋友应该都遇到过这样的问题。日期格式的单元格有些会识别成数字单元格。(为什么说有些呢?因为在Excel文件中输入2008-3-18的日期可以正确导入,但是输入3-18的就会识别成数字。)关于这个问题我找了很久,都没有找到解答。现在解决了,所以记录以下,一是怕以后忘了,二是希望遇到这个问题的朋友可以少走弯路。
首先来分析一下这个问题的成因。既然两个开源包都有同样的问题,说明可能是Excel内部就是这样存储的。所以需要通过一些其他的方式来从NUMERIC Cell中把这些日期找出来。
有两种方式可以辨别NUMERIC Cell储存的是否是日期:
方法一:如果用的是POI,可以直接用HSSFDateUtil.isCellDateFormatted(cell)这个方法。
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
}
方法二:如果用的是Jxl,可以将cell.getCellFormat 强制转换成 XFRecord。然后判断XFRecord.formatIndex 如果等于 58就是DateCell。
if (cell.getType() == CellType.NUMBER) {
NumberCell nc = (NumberCell) cell;
XFRecord xfr = (XFRecord) nc.getCellFormat();
final int INDEX_OF_DATE = 58;
if(xfr.formatIndex == INDEX_OF_DATE) {
Date date = HSSFDateUtil.getJavaDate(nc.getValue());
content = dateformat.format(date);
}
}
得到的这个double不能直接拿来用。转换可以用HSSFDateUtil.getJavaDate(double date)这个方法。
PS:接下来还有 jxl下注释的导入和单元格链接两道难关要闯,希望有这方面经验的朋友也能跟我分享一下。谢谢。
分享到:
- 2008-03-18 14:20
- 浏览 8736
- 评论(3)
- 论坛回复 / 浏览 (0 / 6308)
- 查看更多
相关推荐
JExcelAPI与Apache POI两者对比
java导入导出excel操作(jxl)
利用JExcelApi来动态生成excel文档利用JExcelApi来动态生成excel文档
Java POI 导入导出Excel简单实例源代码,下载即可运行测试,测试地址: http://localhost:8080/com.fengking.Excel/export 操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI。这里我们用Apache...
jexcelapi_2_6_6,java操作Excel表jar包,
包括jexcelapi_2_6_6操作excel包
java项目中,excel文件的导入导出必不可少,该jar包完美支持
现在主流的操作Excel文件的开源工具有很多,用得比较多的就是Apache的POI及JExcelAPI。这里我们用Apache POI!我们先去Apache的大本营下载POI的jar包:http://poi.apache.org/ ,我这里使用的是3.0.2版本
jexcelapi.rar java excel
jexcelapi_2_6_12用java实现excel导入导出,例子在dome中
支持字体,数字和日期格式 支持细胞的着色、边框和着色 修改现有的工作表 是国际化的,几乎可以在任何地区、国家、语言或字符编码中进行处理(目前只支持英语、法语、西班牙语和德语,但如果翻译成其他语言,还可以...
一款让你轻松生成、读取、修改excel的jar.
压缩包中的工程可导入eclipse中,然后引入jxl.jar后运行 博文链接:https://coderdream.iteye.com/blog/250628
博文链接:https://cheneyph.iteye.com/blog/207224
NULL 博文链接:https://cuics-100.iteye.com/blog/986408
jexcelapi 源码+docs 通过java操作excel表格的工具类库 支持Excel 95-2000的所有版本 生成Excel 2000标准格式 支持字体、数字、日期操作 能够修饰单元格属性 支持图像和图表
JExcelAPI java 用于操作excel的一些API JAr包
Excel文件转换为PDF poi itext itext2.1.5,jexcelapi,iTextAsian.jar, iTextAsianCmaps.jar 极度bs那些把资源分放的那么高的人,赚点分不容易