我使用python模塊Xlsxwriter創建了一個.xlsx文件。如何在轉換爲pdf之前使unoconv自動計算公式?
效果很好,但包含公式將顯示爲空或任何細胞0,當我運行
unoconv -f pdf spreadsheet.xlsx
如何強制unoconv轉換爲PDF之前自動計算值是多少?
我使用python模塊Xlsxwriter創建了一個.xlsx文件。如何在轉換爲pdf之前使unoconv自動計算公式?
效果很好,但包含公式將顯示爲空或任何細胞0,當我運行
unoconv -f pdf spreadsheet.xlsx
如何強制unoconv轉換爲PDF之前自動計算值是多少?
在撰寫本文時,顯然unoconv故意不做任何重新計算,因爲它可能會導致錯誤。請參閱Issue 97。 unoconv源代碼的相關部分已被註釋掉。
所以你可以嘗試的一件事是進入你的unoconv副本並取消註釋這些行(使它們再次活動)。你可能會遇到錯誤,或者你可能會沒事。
如果您的公式很簡單,那麼您可以嘗試的另一件事是使用Python計算它們,並使用XlsxWriter將結果與公式一起寫入公式。請注意,worksheet.write_formula()
method有一個可選的value
參數。從官方文檔引用:
XlsxWriter不計算公式的結果,而是將值0存儲爲公式結果。然後在XLSX文件中設置一個全局標誌,以表示在打開文件時應重新計算所有公式和函數。這是Excel文檔中推薦的方法,一般來說,它適用於電子表格應用程序。但是,無法計算公式的應用程序(如Excel Viewer)或某些移動應用程序將只顯示0結果。
如果需要,還可以使用可選的value
參數指定公式的計算結果。在使用不計算公式結果的非Excel應用程序時,這是偶爾需要的:[...]
請注意,如果公式是這樣的,你可以用Python計算它們,而你只關心最終的PDF(沒有人會使用電子表格,並且在將其轉換爲PDF後,您只需將其丟棄),那麼您可以直接寫入值,而無需使用公式。