gpt4 book ai didi

java - 如何使用 Jexcel API 在 Java 中编辑/修改现有 Excel 文件

转载 作者:行者123 更新时间:2023-12-01 18:30:55 25 4
gpt4 key购买 nike

我想使用 Java 编辑现有的 Excel 文件,以向现有的模板 Excel 文件添加更多数据。因此我使用 Jexcel 来实现此目的。

根据各地的建议,我尝试了以下方法,

Workbook existingWorkbook = Workbook.getWorkbook(new File("H://"+file_name));
WritableWorkbook copy = Workbook.createWorkbook(new File("H://"+file_name+"_temp1.xls"));

但第二行显示异常。

jxl.common.AssertionFailed
at jxl.common.Assert.verify(Assert.java:37)
at jxl.read.biff.SheetReader.handleObjectRecord(SheetReader.java:1811)
at jxl.read.biff.SheetReader.read(SheetReader.java:1059)
at jxl.read.biff.SheetImpl.readSheet(SheetImpl.java:716)
at jxl.read.biff.WorkbookParser.getSheet(WorkbookParser.java:257)
at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:969)
at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:343)
at jxl.Workbook.createWorkbook(Workbook.java:339)
at jxl.Workbook.createWorkbook(Workbook.java:320)
at run_book.process_input.<init>(process_input.java:83) <--create workbook stt.
.........<stack trace goes on>

那么如何编辑已经存在的 jexcel 文件呢?我确实收到了另一个警告

Warning: Text Object on sheet "sheet2" not supported - omitting

提前致谢:)

最佳答案

问题解决了。

在写回(编辑)同一文件之前,我们必须关闭输入文件。

因此可以使用 Jexcel 编辑现有的 Excel 文件

File inp = new File("H://"+file_name);
File out = new File("H://"+file_name);
Workbook existingWorkbook = Workbook.getWorkbook(inp);// This opens up a read-only copy of the workbook
WritableWorkbook copy = Workbook.createWorkbook(out,existingWorkbook); // This opens up a writable workbook so that we can edit the copy
//..........Some writes to excel workbook...........
// Now before writing & closing the copy, first close the existing one
existingWorkbook.close(); // Important: Close it before writing the copy with copy.write();
inp.close();
copy.write();
copy.close();

关于java - 如何使用 Jexcel API 在 Java 中编辑/修改现有 Excel 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24260354/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com