JAvaエクセル異常の作成ArrayIndexOutOfBoundsException
1310 ワード
EXcelを作成するには、次のコードの一部を使用します.
実行時に例外メッセージが表示されます.
java.lang.ArrayIndexOutOfBoundsException at java.lang.System.arraycopy(Native Method) at jxl.biff.StringHelper.getUnicodeString(StringHelper.java:189) at jxl.read.biff.WriteAccessRecord.(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:1998)後で原因を調べて、私のexcelファイルが6 Mより大きいことに気づいたとき、以上のエラーを報告します.解決策はjava仮想マシンのメモリ容量を増やすことです.修正方法リファレンス:
方法1.classのVMサイズを個別に変更し、eclipseでRun Configurations->を右クリックして「VM arguments」でパラメータ-Xms 256 mを設定する -Xmx1024m ,パラメータを1 Gに設定できます.方法2.eclipseインストールディレクトリの下で、eclipse.iniファイルを変更し、-Xmx対応の値を変更します.方法3.eclipseのショートカットアイコンを選択し、右クリックして「d:eclipseeclipse.exe-vmargs-Xms 128 m-Xmx 256 m」を設定します.
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.(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:1998)後で原因を調べて、私のexcelファイルが6 Mより大きいことに気づいたとき、以上のエラーを報告します.解決策はjava仮想マシンのメモリ容量を増やすことです.修正方法リファレンス:
方法1.classのVMサイズを個別に変更し、eclipseでRun Configurations->を右クリックして「VM arguments」でパラメータ-Xms 256 mを設定する -Xmx1024m ,パラメータを1 Gに設定できます.方法2.eclipseインストールディレクトリの下で、eclipse.iniファイルを変更し、-Xmx対応の値を変更します.方法3.eclipseのショートカットアイコンを選択し、右クリックして「d:eclipseeclipse.exe-vmargs-Xms 128 m-Xmx 256 m」を設定します.