내부 셀을 참조하는 방정식에서 데이터를 읽으려고합니다 (참조가 동일한 워크 시트의 셀과 다른 워크 시트의 셀 모두에 있음). openpyxl을 사용하지만 방정식에서 값을 읽으려고하면 값은 '없음'입니다. 먼저 통합 문서를 열면 링크 업데이트에 대한 메시지 상자가 나타납니다. 취소를 누르고 통합 문서를 저장하면 방정식으로 값을 읽을 수 있습니다. 수동으로 모든 통합 문서를 열고 저장하고 싶지 않습니다. openpyxl이 통합 문서를로드 할 때 내부 참조에 대한 방정식을 올바르게 평가할 수있는 방법이 있습니까? 여기openpyxl을 사용하여 방정식 링크를 업데이트하는 방법은 무엇입니까?
내가 통합 문서를로드하는 방법입니다
import openpyxl
wbPath = [workbookpath]
workbook = openpyxl.load_workbook(wbPath, data_only=True)
* 편집 :
import xlwings as xw
import openpyxl
#Open and save workbook with openpyxl
wbPath = [WorkbookPath]
wb = openpyxl.load_workbook(wbPath)
wb.save(wbPath)
#Use xlwings to open and compute equations
wb = xw.Book(wbPath)
app = xw.apps.active
wb.save(wbPath)
app.quit()
이를 : 그냥 내가 openpyxl과 xlwings 패키지를 업데이트하기 위해 방정식을 얻기 위해 사용하는 코드를 추가하고 싶었 모든 방정식이 다시 생성되지만 나머지 통합 문서 조작에는 openpyxl을 사용할 수 있습니다.
openpyxl은 공식을 평가하지 않습니다. http://openpyxl.readthedocs.io/en/latest/usage.html#using-formulae 필요한 경우 Excel 또는 머리가없는 LibreOffice를 통해 파일을 펌핑 할 수 있습니다. –
실제로 xlwings을 사용하여 열기 및 닫기 프로세스에 한 단계 더 추가했습니다. 이제 openpyxl을 사용하여 내 통합 문서를 저장 한 다음 xlwings을 사용하여 통합 문서를 다시 열고 저장 한 다음 통합 문서를 닫습니다. – EliSquared