将数据添加到excel中的新单元格而不删除上一个单元格

时间:2015-12-24 17:28:45

标签: java excel apache cell savechanges

当我尝试向此xls文件添加新数据时,我丢失了以前的数据。如何向新单元格添加新信息并保存?

我的代码是Apache POI:

Workbook w = new HSSFWorkbook();

Sheet s = w.createSheet("new");   

Cell a = s.createRow(0).createCell(0);    
Cell b = s.createRow(0).createCell(1);    
a.setCellValue(jTextField1.getText());    

try {
    FileOutputStream f = new FileOutputStream("C://NEW.xls");
    w.write(f);
    w.close();`
} catch (Exception e) {

}

2 个答案:

答案 0 :(得分:4)

您需要输入工作表(使用InputStream),添加记录,然后再次保存。现在你正在创建一个新的工作簿对象,然后使用OutputStream编写它,它将覆盖已经存在的内容。

答案 1 :(得分:2)

ORIGINAL

教程here非常有用并且编写得很好。他们使用Apache POI项目开发的外部JAR。 这是编辑一个单元格的简单示例:

    InputStream inp = new FileInputStream("wb.xls");
    Workbook wb = WorkbookFactory.create(inp);
    Sheet sheet = wb.getSheetAt([sheet index]);
    Row row = sheet.getRow([row index]);
    Cell cell = row.getCell([cell index]);
    String cellContents = cell.getStringCellValue(); 
    //Modify the cellContents here
    // Write the output to a file
    cell.setCellValue(cellContents); 
    FileOutputStream fileOut = new FileOutputStream("wb.xls");
    wb.write(fileOut);
    fileOut.close();

希望有所帮助