使用JXL进行EXCEL上传,cell.getContents()不能取得字段内容

 cell.getContents()不能取得字段内容。
使用JXL.jar,读取cell内容时为空。字段类型如果为date,或者Lable(有中文)可以读取。
Lable(数字、字母、字符)读取结果为空。
环境体现
           | 主干开发 |  release |  生产 | release使用主干代码
-----------|----------|----------|-------|-------------          
下载的文件 |    Y     |    Y     |   o   |    Y
-----------|----------|----------|-------|------------       
手写或修   |    N     |    Y     |   N   |    Y
改文件     |          |          |       |
注:o为未测试
                
代码无问题,2年没有改过,jar包为公用1年没有改过,之前一直好用,突然出现问题。怀疑环境编码或文件编码问题,但没有找到解决办法。                
尝试用release上的jxl.jar替换主干上该jar包,主干开发环境可以正常读取了。 但是两个jar经过比对无任何不同之处。

第二天,tian同学另一模块同样问题。将jar替换到生产上无法解决问题。
将暂时认为有问题原主干开发jar回复,问题重现。            
应用服务器(Weblogic)Locale为zh_CN,修改为en_US,可以正常读取。主干测试OAS,为en_US无法读取,修改为zh_CN可以读取。

EXCEL为微软格式编码,不存在utf-8,gbk编码不对的问题。但是应用的Locale表现又不一样。彻底晕菜。

tian同志发现一个办法,手工设置excel的编码后就没问题了:

WorkbookSettings setting = new WorkbookSettings();
java.util.Locale locale = new java.util.Locale("zh", "CN");
setting.setLocale(locale);
setting.setEncoding("ISO-8859-1");
book = Workbook.getWorkbook(zipFile.getInputStream(zipEntry),setting);

试用果然好使。

无法完全解释该问题,但估计与Locale相关,或者上传过程中产生的了问题。上传使用的最原始的<input type='file'>

如有人找到具体原因,请赐教。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值