openpyxlを使用してファイルを開き、一部のセルを編集して変更を保存します。ここで は例です:openpyxl 2.4.2:保存後に式が空になったセル値
import openpyxl
book = openpyxl.load_workbook(sheet_path)
sheet = book.active
for row in range(sheet.max_row):
index = row + 1
sheet.cell(row=index, column=1).value = "something"
book.save(sheet_path)
問題は、私は、ファイルを保存するときに、他のセルが変更されている、です。実際には、数式を含むシート内のセルは「破損」し、ファイルサイズは大幅に縮小され、シートを読み取るために他のスクリプトを使用すると、数式を含むセルは空としてレポートされます。しかし、シートを開くと、すべてが正常に表示され、保存するとすべてが修復され、ファイルサイズは正常に戻ります。私は問題がopenpyxlから来ると思います。これによりファイルサイズが小さくなり、実際のセル値を取得するために手動で開く/保存する必要があります。私は使用しているライブラリを完全に変更せずにこの問題を解決する方法は見つけられません。 ご協力いただきありがとうございます。
数式または最後に計算された値のいずれかを使用できますが、両方を使用することはできません。 –
説明してください: "* ...フォーミュラを含むセルは空です。*"と報告されます。これは、ファイルオープン再計算式が実行されるときには当てはまりません。 – stovfl
スクリプトを実行した直後に、私はセルを読み込むjavascriptスクリプトを使用します。私は、このスクリプトはシートがスクリプトによって開かれているので、セルが空であると見なします。私が理解しているように、開かれたときに式を再計算するのは秀でていますが、実際にそれらの値を保持するためにシートを保存する必要があるため、値はスクリプトには見えません。 –