jxl生成excel时在Linux下发生错误

时间:2015-08-12 02:01:40   收藏:0   阅读:1130
错误信息如下图:
bubuko.com,布布扣
开发时是在Windows下,运行也正常。正式环境是部署到Linux下的,生成excel时出错了,找到错误信息,去网上搜了一下,才知道原因。
原来问题出在WriteAccessRecord文件里。源代码中byte数组data的最大长度被定义为112,当被传入的参数达到一定长度时就会出错了。
解决方法如下:(转)
1.修改JXL源代码中WriteAccessRecord文件代码,重新设置变量data的长度,例如:data = new byte[astring.getBytes().length];
2.只要在代码中强制设置变量WorkbookSettings.writeAccess的值即可,例如:
Workbook wb = Workbook.getWorkbook(new File("XXXXX"));
WorkbookSettings settings = new WorkbookSettings ();
settings.setWriteAccess(null);
WritableWorkbook workbook = Workbook.createWorkbook(new File("XXXXX"), wb, settings);

我们用了第二种方法,果然可以了。

原文:http://www.blogjava.net/layxue/archive/2015/08/11/426736.html

评论(0
© 2014 bubuko.com 版权所有 - 联系我们:wmxa8@hotmail.com
打开技术之扣,分享程序人生!