0

非常に複雑なスプレッドシート ワークブックがあります。30 枚のシートがあり、各シートにはテーブルの複数のセクションがあり、多くの数式があり、ファイル サイズは約 8MB です。あるシートの複数のセルの値を変更してから、別のシートのセルの結果の値を取得したいと思います。

あるセルの値を設定し、別のセルの値を取得する方法をグーグルで検索しました。たとえば、1 シート、1 列、2 行のみの超単純なワークブックを使用してみましょう。

Row1, Column1 (A1): 3       <--- This is a variable that will be supplied by a program.
Row2, Column1 (A2): =A1*2   <--- This is a cell from which I would like to get a calculated value with any value supplied to the A1 cell.

xlrd を使用してブックを開き、A2 セルから初期値を取得できました。しかし、xlrd にはセルの値を変更する方法がないため、A1 の値を変更することはできません。

xlwt リンクを使用して既存のワークブックに書き込むことによって提供される指示に従いました が、xlutils.copy 関数は数式をコピーしません。したがって、A1 セルに新しい値を指定すると、A1 セルは新しい値に更新されますが、A2 セルの計算は行われません。

運がなかったので、2日間グーグルで検索しました。助けてください。

Python にこれに対する方法がない場合は、他のツールでの提案も大歓迎です。私の好みの OS 環境は Ubuntu です。

ありがとう。

4

2 に答える 2

0

ご希望の環境は Ubuntu とおっしゃっていましたが、これが Excel 関連のソリューションであることを前もってお詫び申し上げます。

私はData Nitroと呼ばれる便利な Excel プラグインにある程度慣れています。このプラグインは、Python をスプレッドシート形式 (この場合は Excel) と統合することを専門としていることを知っています。

中程度のドキュメントがあり、うまくいけば、このライブラリがスプレッドシートの読み取り/書き込みをより適切にサポートしていることがわかるかもしれません.

問題の解決策として Data Nitro が適しているかどうかを判断するためのサンプル Python スクリプトがいくつか提供されています。

于 2013-08-20T19:08:09.190 に答える