0

私は pyuno を使用して Excel スプレッドシート (Linux で実行) を読み込んでいます。多くのセルには、明らかに利用できないアドインを参照する数式があります。ただし、セルの値は私が望むものです。

しかし、シートを読み込んで読むと、それらの数式が評価されているようで、値がエラーで上書きされています。

私はいくつかのことを試しましたが、どれもうまくいきませんでした:

  • desktop.loadComponentFromURL への呼び出しでフラグ AutomaticCalculation=False、MacroExecutionMode=NEVER_EXECUTE を設定します。
  • 読み込まれたドキュメントで document.enableAutomaticCalculation(False) を呼び出します

助言がありますか?

4

2 に答える 2

0

式が問題にならない場合は、(式ではなく) 値のみが存在するスプレッドシートのコピーを処理することで、問題を回避できます。

これをすばやく行うには、シートの内容全体、コピー、特別な貼り付けを選択します。次に、「値」以外のすべてを削除します。新しいファイルに保存します (元のファイルを上書きしないように注意してください。すべての数式が失われます)。その後、スクリプトはこのファイルを処理できるようになります。

プログラムでそれを行う方法がなければならないので、これは醜い解決策です。

于 2012-01-26T17:15:45.377 に答える
0

Calc は、ドキュメントを読み込んだ後にキャッシュされた結果を使用することをまだサポートしていません。Libreoffice Calc は、xls ドキュメントのキャッシュされた結果を使用するようになりました。結果も ods に保存されますが、ドキュメントの読み込み中は無視され、保存された式をコンパイルおよび解釈することによって式の結果が評価されます。

これを ods と xlsx にも追加する計画がいくつかありますが、多くの ods プロデューサーがファイルに間違った結果を書き込んでいます。したがって、これまでの唯一の解決策は、ドキュメントの 2 番目のバージョンを作成して結果のみを保存する (または calc 内に実装する) ことです。

于 2012-02-13T18:19:48.250 に答える