再見VBA,在Excel中直接調(diào)用python代碼!
偶然在知乎上看到一個問題,問能否在excel中調(diào)用python代碼:

覺得很有意思,于是查了一下資料,發(fā)現(xiàn)python的xlwings模塊可以插入excel中,像VBA一樣運(yùn)行,這對廣大python愛好者來說簡直是福音
下面給大家詳細(xì)介紹一下,如何在excel中調(diào)用python代碼
第一步:在excel中加載xlwings模塊
關(guān)于wlxings的使用,前面已經(jīng)發(fā)過,具體參考python自動化辦公|批量處理Excel文件的利器-xlwings,這里不再贅述
首先將xlwings模塊作為excel功能區(qū)的選項(xiàng)卡
依次點(diǎn)擊“文件-選項(xiàng)”,打開如下對話框:

點(diǎn)擊“信任中心-信任中心設(shè)置=宏設(shè)置”,勾選“信任對VBA工程對象模型的訪問”:

點(diǎn)擊功能區(qū)“開發(fā)工具-加載宏”,勾選Xlwings:

如果沒有Xlwings,可以點(diǎn)擊“瀏覽”,選擇xwlings安裝目錄下的xlwings.xlam文件,加載進(jìn)去就OK了

這時候就能在excel的功能區(qū)看到xlwings模塊了

第二步:導(dǎo)入并調(diào)用python代碼
利用Xlwings模塊的quickstart快速創(chuàng)建帶宏的工作蒲和python代碼文件,具體操作如下。
WIN+R輸入cmd打開命令行,用cd命令切換至你想要的路徑,在路徑下輸入命令“xlwings quickstart table”:

若出現(xiàn)如上信息,表示文件創(chuàng)建成功,可以在文件夾內(nèi)發(fā)現(xiàn)以下文件:
打開table.py文件,可以看到自動生成的python代碼:

內(nèi)有main()和hello()函數(shù),可以實(shí)現(xiàn)相應(yīng)的功能
我們打開table.xlsm文件,依次點(diǎn)擊功能區(qū)“xlwings-Import Functions”,等加載完畢,在A1單元格輸入hello()函數(shù):


按回車:

這樣就實(shí)現(xiàn)了在excel中調(diào)用python自定義函數(shù)了
第三步:舉一反三
我們再定義一個函數(shù)even_to_odd,可以實(shí)現(xiàn)偶數(shù)變奇數(shù),代碼如下:
@xw.func
def even_to_odd(x):
if x%2==0:
x=x-1
return x
放入table.py文件中并運(yùn)行,依次點(diǎn)擊功能區(qū)“xlwings-Import Functions”,等加載完畢,如下輸入even_to_odd()函數(shù):

PS:公號內(nèi)回復(fù)「Python」即可進(jìn)入Python 新手學(xué)習(xí)交流群,一起 100 天計劃!
老規(guī)矩,兄弟們還記得么,右下角的 “在看” 點(diǎn)一下,如果感覺文章內(nèi)容不錯的話,記得分享朋友圈讓更多的人知道!


【神秘禮包獲取方式】
