java jxl excel 数据导出 重新命名无效的工作表名称

今天在java中使用jxl导出数据到excel工作表的时候,无论是在线直接打开还是保存到本地再打开,都会提示下面的错误信息:

 

“Excel在‘excel.xls'中发现不可读取的内容。是否恢复此工作薄的内容?如果信任此工作薄的来源,请单击‘是’。”

 

“修复到“excel.xls”

通过修复或删除不可读取的内容,Excel已能够打开该文件。

重新命名无效的工作表名称。

......

单击查看修复记录:C:\Users\dragon\AppData\Local\Temp\error069320_01.xml

截图如下:

 

工作环境:WIN7 64位 + MyEclipse6.5 + jxl

在百度、google搜索了一番,都没有找到答案,后来跟踪代码突然发现,原来自己写入excel是通过一个for循环来实现的。

在循环中对同名的工作表进行了重复定义与赋值,导致了这个问题的发生。

 

“重新命名无效的工作表名称。”出现几行就证明重写了几个WritableSheet。例如我这里出现了8次,就是在for循环内重写了8次excel的工作表。代码如下:

 

WritableWorkbook wwb = Workbook.createWorkbook(response.getOutputStream());

for(int i=0; i<size; i++){

.......

WritableSheet ws = wwb.createSheet(name, num);

......

}

 

后来对上面的代码进行改造,取消了循环,就正常了。

 

这个问题的关键在于在for循环内定义了同名的WritableSheet,才导致这个问题的出现。

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值