乔山办公网我们一直在努力
您的位置:乔山办公网 > excel表格制作 > java中如何读取excel表格中的日期-java读取excel日期,java读取excel英文日期

java中如何读取excel表格中的日期-java读取excel日期,java读取excel英文日期

作者:乔山办公网日期:

返回目录:excel表格制作


读取excel文件中日期内容是通过poi获取的,代码如下:

HSSFWorkbook excbook = new HSSFWorkbook(ExcFile);
//获取第一e69da5e6ba90e79fa5e98193362个sheet页 HSSFSheet excSheet = excbook.getSheetAt(0);
//获取第一行
HSSFRow oneRow = excSheet.getRow(0);
//获取第一行的第一个表格  
HSSFCell oneCell = oneRow.getCell(0);   
 switch (oneCell.getCellType()) {

  case HSSFCell.CELL_TYPE_NUMERIC:

    SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");  

    if(HSSFDateUtil.isCellDateFormatted(oneCell)){ 

    String  str = sdf.format(HSSFDateUtil.getJavaDate(oneCell.getNumericCellValue())).toString();

    System.out.println(str); 
    }
   break;
 }

   



这个问题很简单!首先,用apachePOI找到对应的列,然后读取出来看看什么情况,如果是乱码,你就用InputstreamReader改变编码格式,有那个构造方法,如果是数字能正确显示,但是有错位等情况,那就索性把图表中的东西都读出来,然后正则表达式匹配出来,即使你有2列以上日期,正则也能处理。或者也有可能你excel中日期和他本身vba相关,这个poi可能会出错,我就不知道怎么弄了,不过所有文件都读出来,然后正则一般的问题都能搞定。如果你文件太大,造成内存溢出,那我推荐你用perl
在Excel中的日期格式,比如2009-12-24将其转化为数字格式时变成了40171,在用java处理的时候,读取的也将是40171。
如果e5a48de588b67a64334使用POI处理Excel中的日期类型的单元格时,如果仅仅是判断它是否为日期类型的话,最终会以NUMERIC类型来处理。正确的处理方法是先判断单元格的类型是否则NUMERIC类型,然后再判断单元格是否为日期格式,如果是的话,
创建一个日期格式,再将单元格的内容以这个日期格式显示出来。如果单元格不是日期格式,那么则直接得到NUMERIC的值就行了。具体代码如下:

if (0 == cell.getCellType()) {

//判断是否为日期类型

if(HSSFDateUtil.isCellDateFormatted(cell)){
//用于转化为日期格式

Date d = cell.getDateCellValue();

DateFormat formater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");

str[k] = formater.format(d);

}else{

// 用于格式化数字,只保留数字的整数部分

DecimalFormat df = new DecimalFormat("########");

str[k] = df.format(cell.getNumericCellValue());

}

这个问题我也遇到过 excle读取日期 导入到数据库里面的的日期格式就是12-6-27 所以要做下处理 给你个例子: import com.ibm.icu.text.SimpleDateFormat; class p{ public static void main(String[] args) { String s= "12-07-03";//你取得的日...

相关阅读

关键词不能为空
极力推荐

ppt怎么做_excel表格制作_office365_word文档_365办公网