2017-09-08 12 views
-1

現在、UNOを使用してLibreOffice .odsドキュメントと対話するPythonスクリプトを作成しました。しかし、それは非常に不安定で、Ubuntu 17.04で多くのシステムエラーやクラッシュが発生しています。Openpyxlを「インタラクティブに」使用するにはExcelをインストールする必要がありますか?それは.ODS形式と対話できますか?

私はopenpyxlのドキュメントを読んで、私はこの簡単な質問に対する答えを見つけることができません:私は、動的にが.XLSXまたは埋め込み式と.odsファイルの文書を操作にUbuntuの上openpyxl使用することはできますか?

I.e.私は文書を開き、セルからデータを読み込み、ループ内のセル値を更新し、文書の独自の公式から新しい出力データを読み込み、この出力をnumpy配列にロードし、保存せずに文書を閉じたいとします。

この方法で埋め込み式を使用するには、openpyxlにExcel/libreofficeをインストールする必要がありますか?

はOpenPyXLは必要ありませんし、Excelの実行中のインスタンスを使用することはできません

答えて

2

ありがとうございます。それはまったく.odsと対話しません。 .odsのOpenPyXLに最も近いのはpyexcel-odsです。 Excel式を評価する唯一の現実的な方法は、実行中のExcelのインスタンスを使用することです。同様に、LibreOfficeの式を評価する唯一の現実的な方法は、実行中のLibreOfficeのインスタンスを使用する方法です。

OpenPyXLまたはpyexcel-odsを対話的に使用する場合は、でなく、をExcel/LibreOfficeの式を使用する代わりに、Pythonですべて計算します。

数式が必要でLinuxで実行する必要がある場合は、UNOを(LibreOfficeの実行中のインスタンスを制御するために)何らかの形で使用することがおそらく最良の方法です。 UNOへのPythonインターフェイスは、PyOOUnoToolsのようにいくつかあります。私は今あなたが何を使っているのか分かりません。

最後に、UNOベースの方法が実際にはあまりにも不安定で、Excelにアクセスできる場合は、xlwingsを試すことができます。 Linuxでこれを稼働させるにはかなり複雑です(仮想マシンが必要な場合がありますが、Wineの下でのExcelの使用経験は最高です)。

関連する問題