日期:2014-05-20  浏览次数:20572 次

读取excel的问题?求大家帮忙~
我的目标是从一个excel文件读取并将信息存储到数据库

但是问题出现了
首先我的excel是由从一个网页的某条记录复制再粘贴到excel文件的
这些记录字段前面都有一个空格 
在用jxl或者poi读excel的时候会出现这样的情况

若某个格子的值是 123456789 这个字符串在excel里前面有个空格
读出来后哦 取道这个格子的值是 ?23456789 第一个字符编程了问号
只有存在空格的字符串 读出来第一个字符都成了一个问号

还有一个问题是日期型
比如在excel的一个格子里是日期型 11月14 用jxl或poi读出来后是 39552
所有的日期格式读出来后 都是类似的数字

有高手能帮小弟解决下这个问题吗?? 谢谢了!!

------解决方案--------------------
是手动复制并粘贴的吗?
如果是,就应该规范人的操作。
我印象中JXL有CellType的概念。
if(rs.getCell(2,i).getType() == CellType.DATE){
DateCell datec11 = (DateCell)rs.getCell(2, i);
Date date = datec11.getDate();
if(date!=null){
misRegInfo.setRegDate(date);
}
}
------解决方案--------------------
个人觉得数据在流中传递的过程中是不会出错的,所见非所得应该和显示的编码方式有关,
像POI这样的成形框架应该有考虑过这方面的问题,所以楼主不妨做一些实验,
要么设置合适的编码方式来显示读出来的数据,要么就对原始的流加入空格过滤之类的动作

希望楼主早日解决问题
------解决方案--------------------
一楼的说的对,是在进去Excel的时候出的问题
修改一下Excel,或者看看写Excel的代码
------解决方案--------------------
比如在excel的一个格子里是日期型 11月14 用jxl或poi读出来后是 39552

搂主是不是把excel里的数据都当String类型对出来的,类型用正确了就不会出这样的问题了

------解决方案--------------------
类型不对