java创建excel抛异常ArrayIndexOutOfBoundsException

在创建excel,部分代码如下:


public static Workbook  createWorkbook(String source){
		try {
			File sourcefile = new File(source);
			System.out.println(sourcefile.getName());
			if(!sourcefile.exists()){
				System.out.println("Can not find the source file!");
				return null;
			}
			Workbook book = Workbook.getWorkbook(sourcefile);
			return book;
		
		} catch (Exception e) {
			e.printStackTrace();
		}
		return null;
	}

 

执行时,会有异常信息:


java.lang.ArrayIndexOutOfBoundsException
    at java.lang.System.arraycopy(Native Method)
    at jxl.biff.StringHelper.getUnicodeString(StringHelper.java:189)
    at jxl.read.biff.WriteAccessRecord.<init>(WriteAccessRecord.java:50)
    at jxl.read.biff.WorkbookParser.parse(WorkbookParser.java:820)
    at jxl.Workbook.getWorkbook(Workbook.java:237)
    at jxl.Workbook.getWorkbook(Workbook.java:198)

后来查下原因,才发现我的excel文件大于6M时,才会报以上错误。解决办法就是:增加java虚拟机的内存空间。

修改方法参考:


方法1.单独修改class的VM大小,在eclipse中,右键Run Configurations ->在“VM arguments”中设置参数-Xms256m   -Xmx1024m   ,就可以将参数设置为1G。

方法2.在eclipse安装目录下,修改eclipse.ini文件,修改-Xmx相应的值。

方法3.选中eclipse的快捷图标,右键点 属性,然后设置
“d:\eclipse\eclipse.exe -vmargs -Xms128m -Xmx256m”。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值