問題タブ [odf]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
384 参照

java - ODFToolkit - recalculate all formulas

I have two files:

  • 1.ods in C:\
  • 2.ods in Z:\

In 1.ods - cell A1 I've typed 10, saved, closed.

In 2.ods - cell A1 I've typed formula: ='file:///Z:/1.ods'#$Sheet1.A1, saved, closed.

Now I want to recalculate value in 2.ods cell A1 programmatically using odftoolkit API when value in 1.ods cell A1 changes (after save of course).

There is a method for getting calculated value: Cell#getDisplayText but this is not working for external dependencies. I haven't found any API method that does the same thing as Open/LibreOffice shortcut Ctrl+Shift+F9.

How can I refresh/recalculate aforementioned value using only odftoolkit API?

(This is because I have 7000 ods files I don't want to recalculate manually and after that do what I need to do)

0 投票する
1 に答える
2163 参照

python - 私のpythonスクリプトをlxmlからxml.etreeに変換する

lxml の代わりにデフォルトのパッケージ xml.etree を使用するようにスクリプト (https://github.com/fletchermoore/n2c2) を変換しようとしています。これは私の見落としでしたが、私のターゲット ユーザーに Mac で lxml をセットアップしてもらうことは不可能であることに気付きました。

ほとんどのコードはインポートを切り替えるだけで機能するはずですが、試してみると、xml.etree が名前空間を異なる方法で処理していることがわかりました (これはわかりません)。具体的には、ここで setTagNames 関数を変換する最も簡単な方法は何でしょうか。xmlメソッドから作成され.fromstring()ます。

0 投票する
1 に答える
2651 参照

java - .odtファイルの内容をJavaで文字列に解析するにはどうすればよいですか?

ODFDOMAPIを使用することをお勧めします。可能であれば、ファイル全体の内容を文字列に入れたいと思います。そうでない場合、特定の部分文字列をファイルでどのように検索しますか?

前もって感謝します。

0 投票する
1 に答える
165 参照

settings - API を使用して ODF ルート RSID をオーバーライドする方法

openoffice/libreoffice API を使用して ODT ドキュメントを生成していますが、ファイルが毎回 100% 同一になるようにしたいと考えています (MD5 比較による)。

この時点で、異なる時間に生成された 2 つのファイルを解凍し、zip ファイル内のすべてのファイルをチェックすると、2 つの固有の違い (両方とも RSID 関連) がある Settings.xml を除いて、すべてが 100% 一致します。

これは元のドキュメントをマージして追跡するためのものであることがわかりましたが、とにかくこれらをマージする予定はないので、制御する固定値にしたいのですが、設定する場所が見つかりませんこれらのプロパティ。

いくつかのオプション (以下) を試してプロパティを出力しましたが、これまでのところ見つけることができませんでした。私が(コーディングして)ファイルを解凍し、XMLを変更せずに、RSIDをオーバーライドする方法はありますか?

0 投票する
3 に答える
1112 参照

java - リーキーな Java ライブラリがすべてのメモリをゆっくりと消費します。OutOfMemoryException はスローされません。回避策はありますか?

odf ドキュメント操作に Java odftoolkit ライブラリ (simple-odf-0.6.6) を使用しています。ループ内のすべてのドキュメントを繰り返します。

何千ものドキュメントを繰り返し処理していると、Java アプリがすべてのメモリをゆっくりと消費し、GC がメモリを解放しようとするため、すべてが遅くなります。OutOfMemoryException を取得していません。

JVM メモリ サイズと GC オプションを調整しようとしました ( http://www.oracle.com/technetwork/java/javase/gc-tuning-6-140523.html ) - アプリケーションはあと数分待機しますが、すべてのメモリが再び消費されます.

これは、アプリケーションが使用可能なすべてのメモリに達したときに取得されたダンプのサンプルです。

わずか数 kB しか解放されておらず、GC が非常に遅い (2 秒以上) ことがわかります。

このjmap ヒストグラムは、最大の消費者を示しています。

ご覧のとおり、メモリには odftoolkit 関連のクラスがたくさんあります。

この問題に対処する効果的な方法はありますか? 実行時にアプリから odftoolkit をアンロードし、再度ロードしてメモリ内のすべてのオブジェクトを削除できる可能性があると便利です (明らかに、一緒にリンクされているため、GC は何も役に立ちません)。

重要なコードをドキュメントの小さなグループに対して別のプロセスとして実行することも検討していますが、それでは問題の原因が解決されません。

0 投票する
1 に答える
1428 参照

java - ODFDOM を使用して ods スプレッドシートのページ サイズ、ページの向き、およびページ マージンを設定するにはどうすればよいですか?

Apache Incubation Project ODFDOMを使用すると、ユーザーは、スプレッドシートを含むさまざまなオープン ドキュメント形式のファイルをプログラムで読み取り、作成できます。

作成中のスプレッドシートにさまざまな印刷オプションを設定しようとしていますが、改良された「シンプル API」を使用していますが、ページ マージン、ページ サイズ (高さ/幅)、およびページの向き (横/縦)。

SpreadsheetDocumentから、これらの値を変更できるようにする必要があります。

0 投票する
1 に答える
16408 参照

java - java.lang.NoClassDefFoundError: org/apache/xerces/dom/ElementNSImpl を Apache ODF Toolkit で取得する

odsを使用してファイルを読み込もうとしていますApache ODF Toolkitjava.lang.NoClassDefFoundError以下のコードを使用してスプレッドシートを読み込もうとしているときにエラーが発生します-

以下はエラートレースです-

以下は、クラスパスを示すプロジェクト構造です- エクリプスのスクリーンショット

不足している依存関係はありますか?

0 投票する
1 に答える
705 参照

java - jOpenDocument Sheet.getValueAt(int, int) 戻り値は String と BigDecimal の両方ですか?

jOpenDocument ライブラリを使用して .ods スプレッドシートを処理しています。文字列を処理していたので大丈夫だったのですが、数字の処理となると面倒です。

私のコードでは、スプレッドシートを反復処理し、インデックス x、y のセルが想定する値に基づいていくつかの計算を行います。驚くべきことに、取得した値のクラスを取得できません。

このスニペットは以下を出力します。

値が 2 つの異なるクラスに属しているように見えることがわかります。

返されたオブジェクトを文字列に解析しようとすると、別の ClassCastException も発生します。

今回はクラスが BigDecimal のように見えることに注意してください。

ドキュメントを見つけようとしましたが、このjavadoc で利用できるのは Sheet.getValueAt(String) だけです。(ただし、チュートリアルでこの方法を見つけましたが、文字列に対して非常にうまく機能しているようです)。私は何をすべきか?