Я использую JXL api. Я хочу, чтобы заполнить таблицу первенствовать, что уже есть содержание, как:Как написать таблицу 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 (файл); , и мне нужно будет создать лист WritableSheet1 = workbookVazio.createSheet («Первый лист», 0); слишком ? – Murilo
@Murilo no, вы уже создали книгу и экземпляры для записи, чтобы использовать их. Все, что вам нужно сделать, это перебрать лист1, используя следующийFreeRow в качестве отправной точки. – CoffeeTime