Python openpyxl excelを開き、あるパラメータ値を修正し、このパラメータ値が変化したセルの数値を読み取る
1276 ワード
この歴史的な瞬間を記録してください!長い間悩んでいた問題がやっと解決した.
まず、この投稿に感謝します.https://bbs.csdn.net/topics/392568534
このブロガーは質問に対してopenpyxl用data_only=True後、数式の値を読み取ってsaveすると、ファイルに数式がないことに気づきました.解決策はありますか?提案して、win 32で開けてから保存します:
では、私が悩んでいる問題を話します.
Nの複数の式に満ちたexcelを呼び出して、このexcelを開いて、あるパラメータ値を修正して、このパラメータ値が変化したセルの数値を読み出したいと思います.
実装方法:
まず、この投稿に感謝します.https://bbs.csdn.net/topics/392568534
このブロガーは質問に対してopenpyxl用data_only=True後、数式の値を読み取ってsaveすると、ファイルに数式がないことに気づきました.解決策はありますか?提案して、win 32で開けてから保存します:
def just_open(filename):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
では、私が悩んでいる問題を話します.
Nの複数の式に満ちたexcelを呼び出して、このexcelを開いて、あるパラメータ値を修正して、このパラメータ値が変化したセルの数値を読み出したいと思います.
実装方法:
import openpyxl
from win32com.client import Dispatch
def just_open(filename):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
wbDataOnly2 = openpyxl.load_workbook('C3.xlsx', data_only=False)# excel, False
#sheet2 = wbDataOnly2.active
sheet2 = wbDataOnly2.get_sheet_by_name(u' ')
sheet2['D5'].value = 2000
wbDataOnly2.save('C3_1.xlsx')
just_open('C3_1.xlsx')
wbDataOnly3 = openpyxl.load_workbook('C3_1.xlsx', data_only=True)# excel, True
sheet3 = wbDataOnly3.get_sheet_by_name(u' ')
print sheet3['D65'].value