2

私はJavaでアプリを開発しており、JXLライブラリを使用しています。だから私はこれを試しました:

File f = new File("test.xls");
ArrayList<String[]> ins = new ArrayList<String[]>();
        for(int i=0;i<20;i++){
           ins.add(new String[]{"-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------", i,"-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------","-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------", "-------"+i+"-------"}); // JUST FOR EXAMPLE
        }
        WritableWorkbook workbook = Workbook.createWorkbook(f);

            WritableSheet sheet = workbook.createSheet("TEST1", 0);
            String[] headers = new String[]{"HEADER1", "HEADER2", "HEADER3", "HEADER4", "HEADER5", "HEADER6", "HEADER7", "HEADER8", "HEADER9", "HEADER10", "HEADER12"};
            for(int i=0;i<headers.length;i++){
               sheet.addCell(new Label(i, 0, headers[i]));
            }
            for(int i=0;i<ins.size();i++){
               String tmp[] = ins.get(i);
               for(int j=0;j<tmp.length;i++){
                  sheet.addCell(new Label(j,i+1,tmp[j].toString()));
               }
            }
            workbook.write();
            workbook.close();
    }

私がそれを起動すると、私は取得します:

Exception in thread "main" jxl.write.biff.RowsExceededException: The maximum number of rows permitted on a worksheet been exceeded
    at jxl.write.biff.WritableSheetImpl.getRowRecord(WritableSheetImpl.java:1214)
    at jxl.write.biff.WritableSheetImpl.addCell(WritableSheetImpl.java:1151)
    at Pr1.main(Pr1.java:52)
Java Result: 1

どうすれば解決できますか?21行を追加できない可能性はありますか? とても奇妙です...

4

2 に答える 2

3

私はJXLライブラリから始めて、このタイプのエラーの解決策を探しています。これは投稿ヘッダーに示されています.21行で問題の解決策を提供します.

次のコードがあります。

            for (int j = 0; j <tmp.length; i++) {
               sheet.addCell (new Label (j, i +1, tmp [j].toString ()));
            }

次のようになります。

            for (int j = 0; j <tmp.length; j++) {
               sheet.addCell (new Label (j, i +1, tmp [j].toString ()));
            }

違いはなんですか?j の代わりに i を増やしているので、2 番目のサイクルは決して終了しません。

私はあなたの問題を解決するのに役立ったことを願っています.

幸運を。

于 2012-08-16T18:24:57.403 に答える
0

ApachePOIライブラリを使用してみてください。使用する方が良いです。

于 2012-04-02T20:00:21.550 に答える