Мой код пытается загрузить пользовательские данные в файл Excel. Когда пользователь вводит данные из приложения в первый раз, он записывает данные в файл Excel. Но проблема возникла, когда пользователь пытается вставить данные во второй раз. Это просто написание той же первой строки. Вот мой код.
public void LibrarianUpdateData(String Name,String IC,String Date){
XSSFWorkbook wb = new XSSFWorkbook();
XSSFSheet librarianSheet = wb.createSheet("Librarian");
String[][] datatypes = {
{Name,IC,Date}
};
int Rownum = librarianSheet.getLastRowNum();
System.out.println(Rownum);
System.out.println("Updating excel");
System.out.println("Initial Array:");
for(int i = 0 ; i < 3; i++){
System.out.println(datatypes[0][i]);
}
for (String[] datatype : datatypes) {
Row row = librarianSheet.createRow(Rownum++);
int colNum = 0;
for (String field : datatype) {
Cell cell = row.createCell(colNum++);
if (field instanceof String) {
cell.setCellValue((String) field);
}
}
}
System.out.println(Rownum);
try {
// this Writes the workbook
FileOutputStream out = new FileOutputStream(new File("AttendenceList.xlsx"));
wb.write(out);
out.close();
System.out.println("AttendenceList.xlsx written successfully on disk.");
}
catch (Exception e) {
e.printStackTrace();
}
}
Мой мозг говорит, что данные записаны в одной строке. Верна ли моя гипотеза? Как изменить этот код, чтобы он записал следующую строку?