使用jxl api / Apache POI编辑现有的excel文件

我感兴趣,并想了解更多关于Java,如何写入现有的Excel表/操纵现有的数据。 我想知道如果你可以给我一个想法,如何编辑一个现有的Excel文件,并保存使用jxl api / Apache POI,或者给我一个示例程序如何编辑现有的Excel文件中的一些数据,然后保存提前致谢 !!

这里的教程是非常有用的,写得很好。 他们使用由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(); 

希望能帮助到你

我学到了一个非常重要的技巧。 只有在完成写入Excel工作簿之后, 才能打开OutputStream。 扎巴拉的例子是正确的,并正确显示了这一点。 如果你更早的时候打开OutputStream,你的程序退出后你的修改就不会被写入到文件中,你会像我一样挠头。

我用另一个标签刷新公式,为此我使用下一句

 HSSFSheet worksheetse = workbook.getSheetAt(0); worksheetse.setForceFormulaRecalculation(true); 

但是对于所有具有公式的选项卡应用setForceFormulaRecalculation方法是必须的。

对不起我的英语不好

你好,我有同样的问题比neXGen。 但奇怪的是,如果我用openoffice打开文件,它的工作原理!

编辑:也许我find了一个解决scheme,更改后的值:

 HSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);