这几天要做一个项目 需要用到excel导入到数据库里面,在poi和jxl中选择了jxl。在相关尝试中主要遇到2个问题
1.一个excel大概只有10行 如果删除2行的话,可是最后读取的时候还是有10行,因为只是清楚了内容行数还在那里,后来我发现了 如果这行很多空的话
sheet.getRow(i).length sheet.getColumns() 这2个是不相等的。解决
2.就是日期格式的事情了 excel里面的格式都是2009年11月27日 但是不知道怎么回事 就是读取不出来。
我尝试了用cell.type来判断date但是我发现cell.type也是number ,最后发现另外一种转换方式
String tempTime = st.getCell(0, k 1).getContents();
long tempTimeLong = Long.valueOf(tempTime).intValue(); //将数字转化成long型
long ss = (tempTimeLong - 70 * 365 - 17 - 2) * 24 * 3600 * 1000; //excel的那个数字是距离1900年的天数
//java 是距离1970年天数,但是明明期间只有17个闰年
//我尝试的结果要减19才能正确,原因不明
Date dss = new Date(ss); //用这个数字初始化一个Date
SimpleDateFormat formatter = new SimpleDateFormat("yyyy年MM月dd日");
String sss = formatter.format(dss);<!--ecms.*-->
解决