добавить данные в файл xlsx через Java - PullRequest
3 голосов
/ 05 июля 2010

Я использую Apache POI для записи в файл .xlsx.Я могу записать в .xlsx файл, но не могу добавить новый контент.Как добавить новое содержимое в файл .xlsx?

Мой код:

public static void write(){
    try {           
        Workbook[] wbs = new Workbook[]{new XSSFWorkbook()};
        Workbook workbook=wbs[0];
        org.apache.poi.ss.usermodel.Sheet sheet = workbook.createSheet();
        System.out.println(sheet.getSheetName());
        Row row = sheet.createRow(2);
        for(int i=0;i<10;i++){
               Cell cell=row.createCell(i);
               cell.setCellValue("Sun System");
        }
        FileOutputStream fout=new FileOutputStream("D:/Test.Xlsx");
        workbook.write(fout);
        fout.close();
    } catch (Exception e) {
    }
}

Ответы [ 2 ]

7 голосов
/ 05 июля 2010

Первое, что вам нужно сделать:

Когда вы работаете с форматом Excel 2007, целесообразнее использовать XSSF-реализации, потому что вы использовали абстрактные реализации. Всегда помните об этом при использовании любой реализации.

Чтобы добавить к существующему файлу, вам нужно достичь конца строк в этом конкретном листе книги. Это может быть достигнуто путем:

int rows = sheet.getPhysicalNumberOfRows(); // or sheet.getLastRowNum();

После этого вы можете создавать новые ячейки с классами реализации XSSF. Для получения дополнительной информации см. эта страница

3 голосов
/ 05 июля 2010

Вы должны открыть существующий файл вместо того, чтобы создавать новый, если хотите добавить, см. Также этот вопрос stackoverflow:

Редактируйте существующие файлы Excel с помощью jxl api / Apache POI

...