繁体   English   中英

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

[英]Edit existing excel files using jxl api / Apache POI

我很感兴趣,想了解更多关于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。 Zabbala的例子是正确的,并正确地显示了这一点。 如果您之前打开OutputStream,则在程序退出后,您的更改将不会写入文件,您会像我一样搔脑。

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

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

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

对不起我的英语不好

你好我和neXGen有同样的问题。 但奇怪的是,如果我用openoffice打开文件,它就可以了!

编辑:也许我找到了一个解决方案,在更改值后添加:

HSSFFormulaEvaluator.evaluateAllFormulaCells(workbook);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM