我正在使用JXL api。我想,以填補已經有內容,如Excel表格:如何編寫從最後一個值開始的Excel表格?
123 321 12324
123 321 231
123 321 343
123 321 454
123 321 565
我想寫第五行之後的下一個值,但我不知道該怎麼做。我只知道如何創建和寫入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();
但我會把創建另一個工作簿?如:WritableWorkbook workbookVazio = Workbook.createWorkbook(file); ,我將不得不創建一個WritableSheet sheet1 = workbookVazio.createSheet(「First Sheet」,0);呢? – Murilo
@Murilo不,您已經創建了工作簿和可寫表單實例,以便使用它們。所有你需要做的就是使用nextFreeRow作爲你的出發點迭代sheet1。 – CoffeeTime