1

Python モジュール Xlsxwriter を使用して .xlsx ファイルを作成しました。

うまく機能しますが、数式を含むセルは実行時に空または 0 として表示されます

unoconv -f pdf spreadsheet.xlsx

pdfに変換する前にunoconvに値を自動計算させるにはどうすればよいですか?

4

1 に答える 1

3

これを書いている時点では、unoconv はエラーを引き起こす可能性があるため、意図的に再計算を行っていないようです。Issue 97を参照してください。unoconv のソース コードの該当部分はコメント アウトされています。

したがって、試してみることができることの 1 つは、unoconv のコピーにアクセスして、それらの行のコメントを解除することです (再びアクティブにします)。エラーが発生する場合もあれば、問題ない場合もあります。

数式が単純な場合は、Python を使用して計算し、XlsxWriter を使用して数式と共に結果を書き込むこともできます。worksheet.write_formula()メソッドにはオプションのvalueパラメーターがあることに注意してください。公式ドキュメントからの引用:

XlsxWriter は数式の結果を計算せず、代わりに数式の結果として値 0 を格納します。次に、XLSX ファイルにグローバル フラグを設定して、ファイルを開いたときにすべての数式と関数を再計算する必要があることを示します。これは、Excel のドキュメントで推奨されている方法であり、一般にスプレッドシート アプリケーションでは問題なく機能します。ただし、Excel Viewer などの数式を計算する機能を持たないアプリケーションや、一部のモバイル アプリケーションでは、0 の結果しか表示されません。必要に応じて、オプションのパラメーター

を使用して式の計算結果を指定することもできます。valueこれは、数式の結果を計算しない Excel 以外のアプリケーションで作業する場合に必要になることがあります: [...]

数式が Python で計算できるようなもので、最終的な PDF だけを気にする場合 (スプレッドシートを使用する人は誰もおらず、スプレッドシートを PDF に変換した後はとにかく捨てるだけです)、次のようにします。数式をまったく使わずに、値を直接書き込むことができます。

于 2016-01-08T23:31:40.980 に答える