使用JExcel API复制工作簿时出错

时间:2011-07-17 04:02:51

标签: spreadsheet jexcelapi formulas

我正在尝试使用JExcel API复制包含多个工作表和大量公式的大型Excel文件;但是,当我运行以下代码时 -

Workbook w = Workbook.getWorkbook(inputWorkbook);

WritableWorkbook wcopy = Workbook.createWorkbook(new File("C:/filename.xls"), w);

我收到以下错误...

>jxl.common.AssertionFailed
>>> at jxl.common.Assert.verify(Assert.java:37)
>>> at jxl.write.biff.SheetCopier.copySheet(SheetCopier.java:329)
>>> at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1584)
>>> at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:971)
>>> at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:343)
>>> at jxl.Workbook.createWorkbook(Workbook.java:339)
>>> at jxl.Workbook.createWorkbook(Workbook.java:320)
>>> at shortcut.ModifyCell.getValue(ModifyCell.java:66)
>>> at shortcut.ModifyCell.main(ModifyCell.java:88)

>Exception in thread "main" jxl.common.AssertionFailed
>>> at jxl.common.Assert.verify(Assert.java:37)
>>> at jxl.write.biff.SheetCopier.copySheet(SheetCopier.java:329)
>>> at jxl.write.biff.WritableSheetImpl.copy(WritableSheetImpl.java:1584)
>>> at jxl.write.biff.WritableWorkbookImpl.copyWorkbook(WritableWorkbookImpl.java:971)
>>> at jxl.write.biff.WritableWorkbookImpl.<init>(WritableWorkbookImpl.java:343)
>>> at jxl.Workbook.createWorkbook(Workbook.java:339)
>>> at jxl.Workbook.createWorkbook(Workbook.java:320)
>>> at shortcut.ModifyCell.getValue(ModifyCell.java:66)
>>> at shortcut.ModifyCell.main(ModifyCell.java:88)

并使用给定名称创建一个空白Excel文件。我想知道使用JExcel API复制电子表格是否有任何已知限制 - 例如,无法读取的格式或公式,大小限制,宏限制等?

(当我在他们的示例电子表格上运行代码时,它复制得非常好,所以我认为这不是代码问题,尽管我可能错了。)

//编辑:这是我收到的警告(每个警告的多个):

...读

警告:5的属性存储名称为空 - 设置为根条目

警告:使用本地非内置名称

复制...

警告:共享模板公式为空 - 尝试最新的公式模板

警告:单元格F155已包含数据

警告:未知的形状类型警告:未知的形状类型

警告:H45处的单元格不存在 - 添加空白

警告:J45上的单元格不存在 - 添加空白

警告:单元格H45已包含数据

警告:Cell J45已包含数据

1 个答案:

答案 0 :(得分:0)

每当JXL读取公式时,它都会给你一个记录器警告。如果您将所有公式更改为数字,则警告将消失。