Я пытаюсь изменить существующий файл Excel с помощью API JAVA Excel vogella , но не могу с этим справиться.Я нашел способ воссоздать файл Excel, но это не то, что я хочу.Может ли кто-нибудь дать совет, подсказку или поделиться коротким примером.
Я делюсь тем, что пытаюсь сделать:
/**
* Reading external file.
*
* @return Record[];
* @throws IOException;
* @throws BiffException.
*/
public Record[] read() throws IOException {
File inputWorkbook = new File(inputFile);
Workbook w;
Record[] records = null;
int rowsCount = 0;
try {
w = Workbook.getWorkbook(inputWorkbook);
Sheet sheet = w.getSheet(0);
int columnsCount = sheet.getColumns();
rowsCount = sheet.getRows();
records = new Record[rowsCount];
for (int rowIndex = 0; rowIndex < rowsCount; rowIndex++) {
Record record = new Record(columnsCount);
for (int columnIndex = 0; columnIndex < columnsCount; columnIndex++) {
Cell cell = sheet.getCell(columnIndex, rowIndex);
String value = cell.getContents();
record.setRecordData(columnIndex, value);
}
records[rowIndex] = record;
}
} catch (BiffException e) {
errorMessage = 1;
}
return records;
}
/**
* Writing to existing excel file.
*
* @param records;
* @throws IOException;
* @throws WriteException;
* @throws BiffException.
*/
public void write(Record[] records) throws IOException, WriteException, BiffException {
File file = new File(inputFile);
WorkbookSettings wbSettings = new WorkbookSettings();
wbSettings.setLocale(new Locale("en", "EN"));
Workbook workbook = Workbook.getWorkbook(file, wbSettings);
WritableWorkbook writableworkbook = Workbook.createWorkbook(file, workbook, wbSettings);
WritableSheet excelSheet = writableworkbook.getSheet(0);
createLabel(excelSheet);
createContent(excelSheet, records);
writableworkbook.write();
writableworkbook.close();
}