即。我正在阅读Cell(0)
和Row(0)
值,然后我在同一个文件中的同一个地方写下新文字。
是否可以这样做?
答案 0 :(得分:2)
这是你用apache-poi做的。该代码适用于 xls 和 xlsx 工作簿。
//Load the workbook into the memory
FileInputStream fis = new FileInputStream("filename_of_your_workbook");
Workbook workbook = WorkbookFactory.create(fis);
//Modify the workbook as you wish
//As an example, we override the first cell of the first row in the first sheet (0-based indices)
workbook.getSheetAt(0).getRow(0).getCell(0).setCellValue("new value for A1");
//you have to close the input stream FIRST before writing to the same file.
fis.close() ;
//save your changes to the same file.
workbook.write(new FileOutputStream("filename_of_your_workbook"));
workbook.close();
请注意,当您使用apache-poi从现有文档创建工作簿对象时,它会将文档模型加载到内存中,除非您将其保留回文件系统,否则所有更改都将是临时的。如果在调用workbook.write()
时提供相同的文件名,则基本上将更改保存到同一文件中。
答案 1 :(得分:-1)
我假设你正在使用一些额外的库来读写电子表格。如果是这种情况,您只需要再次指向同一位置以写入任何值。
查看http://howtodoinjava.com/apache-commons/readingwriting-excel-files-in-java-poi-tutorial/了解更多信息。此外,如果可以提供您的代码,以便我们能够更好地理解它并提供良好的解决方案。
答案 2 :(得分:-2)
据我所知,您无法在追加模式下打开Excel,因此您需要使用Apache POI等Java库创建新的Excel。