0

私はJXL APIを使用しています。次のようなコンテンツが既にある Excel テーブルに入力したい:

123 321 12324   

123 321 231 

123 321 343 

123 321 454 

123 321 565

5行目以降に次の値を書き込もうとしているのですが、やり方がわかりません。空の場合にのみ、Excel テーブルを作成して書き込む方法を知っています。そして、私はそれを読む方法を知っています。最初にそれを読み取らなければならないと考えていました。テーブルの値を含む配列は、テーブルの最後の値を選択するのに役立ち、そこから他の値を書き出すのに役立ちます。私はこれらの方法を持っています:

読むには:

arquivo = new File("C:\\Users\\maniceto\\Desktop\\arq.xls");

        planilha = Workbook.getWorkbook(arquivo); 

        Sheet[] abas = planilha.getSheets(); 

        aba = planilha.getSheet(0);  

        matriz = new String[aba.getRows()][aba.getColumns()];

        Cell[] cel; 

        for (int i = 0; i < matriz.length; i++) {
            cel = aba.getRow(i);

            for (int j = 0; j < matriz[0].length; j++) {
                matriz[i][j] = cel[j].getContents(); 
            }
        }

        System.out.println("Lines " + matriz.length);
        System.out.println("Columns " + matriz[0].length);
        System.out.println("");

        for (int i = 0; i < matriz.length; i++) {
            for (int j = 0; j < matriz[0].length; j++) {
                System.out.print(matriz[i][j] + "\t");
            }
            System.out.println("");
        }

空の Excel テーブルを書き込むには:

WritableWorkbook workbookVazio = Workbook.createWorkbook(file);


            WritableSheet sheet1 = workbookVazio.createSheet("First Sheet", 0);
            TableModel model = table.getModel();

            for (int i = 0; i < model.getColumnCount(); i++) {
                Label column = new Label(i, 0, model.getColumnName(i));
                sheet1.addCell(column);
            }
            int j = 0;
            for (int i = 0; i < model.getRowCount(); i++) {
                for (j = 0; j < model.getColumnCount(); j++) {
                    Label row = new Label(j, i + 1,
                            model.getValueAt(i, j).toString());
                    sheet1.addCell(row);
                }
            }
            workbookVazio.write();
            workbookVazio.close();
4

2 に答える 2

0

この質問でrgettman が述べているように、 Apache POIを使用して Java で Excel ファイルを処理することもお勧めします。

POI を使用して値を追加するには、現在の行数を取得する必要があります。

int rows = sheet.getPhysicalNumberOfRows();

POI は十分に文書化されており、ネット上でいくつかのコード例を簡単に見つけることができます。

于 2013-11-01T13:26:31.567 に答える
0

you could try something like

int lastRowNum = workbookVazio.getSheet("First Sheet").getLastRowNum();
int  nextFreeRow = lastRowNum+1;

or you can use Apache POI theres a good tutorial here.

于 2013-11-01T13:27:40.503 に答える