2

POI-3.10-FINALPPTX の編集が完全に機能しないという問題が発生しています。新しいスライドを正常に追加できることに気付きましたが、形状 (この場合は表) への変更が出力された PPTX ファイルに反映されていません。

に切り替えることで修正できましpoi-ooxml-schemas-*.jarooxml-schemas-1.1.jarが、結果の PPTX ファイルが破損しているようです。

この問題を調査したところ、「docProps/app.xml」が正しく更新されていないことに気付きました (PPTX 内の他のファイルも更新されていないと想定しています)。

何か案は?

4

1 に答える 1

2

Microsoft の OpenXml SDK ( OpenXml SDKを参照) を使用して、POI の問題を適切にトラブルシューティングし、修正することができました。SDK は、PPTX ファイル (またはその他の OpenXml ドキュメント) をスキャンし、検出したすべてのエラーのリストをコンパイルするのに役立ちます。

私の場合、テーブル セルのテキスト値の 1 つを null に設定していました。次に、POI は、一番上のスライド タグでxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"宣言を生成し、セルのタグ内でxsi:nil="true"を使用しました。好きじゃなかった。

私が抱えていた別の問題は、テーブル内で新しい行と列を変更して作成していたことです。コードを簡単にするために、セルに対して何かを行うたびに、境界線情報を幅 1 の黒に設定し、塗りつぶしの色を白に設定するようにしました。何らかの奇妙な理由で、POI は境界情報を置き換えていなかったようですが、PPTX に 1 つではなく 2 つの競合する値を追加したようです (これをさらに調査する必要がありますが、それらを明確に設定する前に境界線と塗りつぶし情報を確認する必要があります)。私の問題を修正しました)。

これらの問題は、一度理解すれば簡単に修正できました。

于 2014-06-30T14:02:41.407 に答える