2

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 には既にデータが含まれています

4

1 に答える 1