poi 3.7 读取Excle 2007文件Date类型的方法
2014-12-06 22:56
330 查看
这是个老问题了, 看网上的解决方法都类似于"HSSFDataFormat是HSSF子项目里面定义的一个类。类HSSFDataFormat允许用户新建数据格式类型。HSSFDataFormat类包含静态方法static java.lang.String getBuiltinFormat(short index),它可以根据编号返回内置数据类型。(摘自地址)",代码表示为:
"
[java]
view plaincopy
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
}
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
}
"
但是这个方法在读取xlsx格式的文件是不能直接用的,解决方法是找出HSSFDateUtil的源文件,将原代码的类改下就OK了.
附一段我的代码:
[java]
view plaincopy
switch(c.getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
if (XSSFDateUtil.isCellDateFormatted((XSSFCell) c)) {
double d = c.getNumericCellValue();
Date date = XSSFDateUtil.getJavaDate(d);
tdList.add(DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", date));
} else {
tdList.add(String.valueOf((long)c.getNumericCellValue()));
}
break;
default :
tdList.add(c.toString().trim());
}
[java]
view plaincopy
public class XSSFDateUtil extends DateUtil {
protected static int absoluteDay(Calendar cal, boolean use1904windowing) {
return DateUtil.absoluteDay(cal, use1904windowing);
}
}
"
[java]
view plaincopy
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
}
case HSSFCell.CELL_TYPE_NUMERIC:
if (HSSFDateUtil.isCellDateFormatted(cell)) {
double d = cell.getNumericCellValue();
Date date = HSSFDateUtil.getJavaDate(d);
}
"
但是这个方法在读取xlsx格式的文件是不能直接用的,解决方法是找出HSSFDateUtil的源文件,将原代码的类改下就OK了.
附一段我的代码:
[java]
view plaincopy
switch(c.getCellType()) {
case XSSFCell.CELL_TYPE_NUMERIC:
if (XSSFDateUtil.isCellDateFormatted((XSSFCell) c)) {
double d = c.getNumericCellValue();
Date date = XSSFDateUtil.getJavaDate(d);
tdList.add(DateUtil.convertDateToString("yyyy-MM-dd HH:mm:ss", date));
} else {
tdList.add(String.valueOf((long)c.getNumericCellValue()));
}
break;
default :
tdList.add(c.toString().trim());
}
[java]
view plaincopy
public class XSSFDateUtil extends DateUtil {
protected static int absoluteDay(Calendar cal, boolean use1904windowing) {
return DateUtil.absoluteDay(cal, use1904windowing);
}
}
相关文章推荐
- poi 3.7 读取Excle 2007文件Date类型的方法
- springbatch 读取csv文件时 文件中有字符串需要转换为Date类型的字段报错字符串不能转化为Date类型的解决方法
- poi读取excel时数字类型的解决方法
- JS及POI将页面数据导出EXCLE文件的几种方法
- JAVA读取Excel文件的科学计数类型的解决方法
- poi读取excel兼容(2003、2007)各种数据类型
- struts:poi读取excel文件(兼容2003、2007)
- C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法
- POI 读取 Excel 文件(2003版本与2007版本的差异之处)
- matlab各种数据类型的文件的读取与写入方法
- poi读取Excel文件并进行数据类型转换实例
- POI 读取excle文件的数据
- C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法
- java使用POI读取properties文件并写到Excel的方法
- C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法
- C#中读取“已注册的文件类型”的图标及读取指定文件图标的方法
- POI读取excel2007文件的数据,插入数据库的使用方法【经验之谈】
- <s:property>标签从后台读取Date类型年份为两位在jsp页面显示的解决方法
- 关于java读取excle文件的相关方法 ;
- 【JAVA】apache poi excel 文件读取,各种数据类型,不规则excel格式都可以读取