Python刷新excel

用openpyxl讀取excel的load_workbook有個(gè)data_only參數(shù)。
例如:
yb_wb = load_workbook(u"D:\Desktop\xxx.xlsx", data_only=True)顧名思義,True時(shí),只讀data敬尺,忽略公式。
但是有個(gè)情景是——得先保留公式外恕,根據(jù)舊公式寫入新公式晕换。然后再讀取值進(jìn)行操作。也就是說先data_only = False,然后再data_only = True磅摹。
這樣會(huì)導(dǎo)致讀取值操作的時(shí)候滋迈,公式全部沒有了。對(duì)户誓,全部為空饼灿。就是這么奇怪。

wb = openpyxl.load_workbook(‘a(chǎn)bc.xlsx’, data_only=True)

當(dāng)’abc.xlsx’被生成并在Excel程序中打開并保存之后(這個(gè)過程Excel會(huì)把公式結(jié)果計(jì)算出來)帝美,該文件附帶有兩套值碍彭,一套是公式全都沒有計(jì)算的(data_only=False(默認(rèn))),一套是公式計(jì)算了結(jié)果的(data_only=True)悼潭。(如果沒有被Excel打開并保存庇忌,則只有一套值(data_only=False的那套,公式?jīng)]有計(jì)算結(jié)果的)舰褪。

此時(shí)皆疹,以data_only=True或默認(rèn)data_only=False打開會(huì)得到兩種不同的結(jié)果,各自獨(dú)立占拍,即data_only=True狀態(tài)下打開的墙基,會(huì)發(fā)現(xiàn)公式結(jié)果為None(空值)或者一個(gè)計(jì)算好的常數(shù),而不會(huì)看到它原本的公式是如何刷喜。而data_only=False則只會(huì)顯示公式而已残制。因此,data_only=True狀態(tài)下打開掖疮,如果最后用save()函數(shù)保存了初茶,則原xlsx文件中,公式會(huì)被替換為常數(shù)結(jié)果或空值。而data_only=False狀態(tài)下打開恼布,最后用save()函數(shù)保存了的話螺戳,原xlsx文件也會(huì)只剩下data_only=False的那套值(即公式),另一套(data_only=True)的值會(huì)丟失折汞,如想重新獲得兩套值倔幼,則仍舊需要用Excel程序打開該文件并保存。

解決方法:

可以定義一個(gè)刷新函數(shù)重新打開一次并保存爽待。

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()
print('自動(dòng)更新結(jié)束')
filename = r"D:\Desktop\xxx.xlsx"
just_open(filename)

先調(diào)用win32com打開一次损同,就OK,原公式就會(huì)變成值鸟款,后面就可以愉快的操作了膏燃。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市何什,隨后出現(xiàn)的幾起案子组哩,更是在濱河造成了極大的恐慌,老刑警劉巖处渣,帶你破解...
    沈念sama閱讀 219,039評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件伶贰,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡罐栈,警方通過查閱死者的電腦和手機(jī)黍衙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,426評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來悠瞬,“玉大人们豌,你說我怎么就攤上這事涯捻∏匙保” “怎么了?”我有些...
    開封第一講書人閱讀 165,417評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵障癌,是天一觀的道長(zhǎng)凌外。 經(jīng)常有香客問我,道長(zhǎng)涛浙,這世上最難降的妖魔是什么康辑? 我笑而不...
    開封第一講書人閱讀 58,868評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮轿亮,結(jié)果婚禮上疮薇,老公的妹妹穿的比我還像新娘。我一直安慰自己我注,他們只是感情好按咒,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,892評(píng)論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著但骨,像睡著了一般励七。 火紅的嫁衣襯著肌膚如雪智袭。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,692評(píng)論 1 305
  • 那天掠抬,我揣著相機(jī)與錄音吼野,去河邊找鬼。 笑死两波,一個(gè)胖子當(dāng)著我的面吹牛瞳步,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播雨女,決...
    沈念sama閱讀 40,416評(píng)論 3 419
  • 文/蒼蘭香墨 我猛地睜開眼谚攒,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了氛堕?” 一聲冷哼從身側(cè)響起馏臭,我...
    開封第一講書人閱讀 39,326評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎讼稚,沒想到半個(gè)月后括儒,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,782評(píng)論 1 316
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡锐想,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,957評(píng)論 3 337
  • 正文 我和宋清朗相戀三年帮寻,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片赠摇。...
    茶點(diǎn)故事閱讀 40,102評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡固逗,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出藕帜,到底是詐尸還是另有隱情烫罩,我是刑警寧澤,帶...
    沈念sama閱讀 35,790評(píng)論 5 346
  • 正文 年R本政府宣布洽故,位于F島的核電站贝攒,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏时甚。R本人自食惡果不足惜隘弊,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,442評(píng)論 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望荒适。 院中可真熱鬧梨熙,春花似錦、人聲如沸刀诬。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,996評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至肌割,卻和暖如春卧蜓,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背把敞。 一陣腳步聲響...
    開封第一講書人閱讀 33,113評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工弥奸, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人奋早。 一個(gè)月前我還...
    沈念sama閱讀 48,332評(píng)論 3 373
  • 正文 我出身青樓盛霎,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親耽装。 傳聞我的和親對(duì)象是個(gè)殘疾皇子愤炸,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,044評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容