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 のプロパティ ストレージ名が空です - ルート エントリに設定します
警告: ローカルの非組み込み名の使用
コピー中...
警告: 共有テンプレートの数式が null です - 最新の数式テンプレートを試してください
警告: セル F155 には既にデータが含まれています
警告: 未知の形状タイプ警告: 未知の形状タイプ
警告: H45 のセルが存在しません - 空白を追加してください
警告: J45 にセルがありません - 空白を追加してください
警告: セル H45 には既にデータが含まれています
警告: セル J45 には既にデータが含まれています