excel中想實現使用Python代替VBA,請問應該怎麼做?

時間 2021-05-06 11:51:04

1樓:純純

如果資料是 xlsx 格式的檔案的話,大膽把 Excel 當成乙個視覺化工具,直接用 openpyxl 整個讀出來操作,再寫回去,包括樣式,公式之類的都可以修改。

2樓:的了哈

在你的VBA裡將所需要的資料匯出到乙個新檔案,用VBA呼叫CMD,CMD執行一條執行蟒蛇的語句,可以讓VBA通過CMD往蟒蛇裡傳參,蟒蛇執行,蟒蛇輸出結果到某個指定好了的空資料夾下,VBA迴圈監聽空資料夾下檔案數目如果為1,則讀取新檔案內容,這樣就極大的擴充套件了VBA的使用範圍了。

這只是一條簡單的思路,可任意完善,只要能達到目的。

一般來說主流程式系統由vba改成其他專案還是非常困難的。

如果採用蟒蛇控制Excel,那就平添太多學習成本。既然會了excel,會了蟒蛇資料處理,那就各取所長,就用我說的方法。

3樓:大灰狼

我覺得題主想問的主要是提高靈活性和利用率。用python完全可以實現。

題主打算用excel去展現,用巨集去呼叫python指令碼這可能是因為vba是這樣的模式,但python完全不用這樣做。

題主可以把excel為主換成以python為主,用python實現需要實現的功能,然後將處理好的資料存到excel中。或者先讀入excel處理好後再去修改原excel。

用到的庫有xlrd用於讀 xlwt用於寫。這兩個庫就夠一般操作了。

4樓:王朝陽

我曾經也有這樣的想法,因為實在很難適應vba的語法,寫一會vba,再寫別的就各種掰不回來。

樓上各位提到的工具多少也試過,都沒成功。

最後我用了一種曲線救國的方法:

1.先用vba寫匯出json的函式,注意,是函式,可以把excel裡的資料直接轉化為json並直接儲存,每次源資料變化都會重新匯出並儲存。

2.用python讀取json資料,進行運算,眾所周知,python讀取json的方法是很友好的

當然缺點就是,這種方式只能用於運算資料,不能更改excel的資料

5樓:gaaklam yim

cython也不能脫離python runtime。那個python.dll還是要的。excel呼叫python沒問題。可以用pywin32,支援com。

我原來也用過,用python寫了乙個函式,在excel呼叫。

你這個需求感覺用cx freeze包裝一下,在客戶端安裝就行了,不需要動用cython。

如何用python對excel實現讀取指定日期的資料

1 讀資料。df pd.read excel test.xlsx skiprows 4 2 把要固定的兩列設為index。df 2 df.set index Type Part No 3 計算起止日期,取資料 start pd.Timestamp 2020 12 01 end start pd.Ti...

excel 中如何實現數字位置的調整?

思路 1 用mid 找到月 right 找到日 left 找到年2 然後用concatenate 把他們拼起來知識點補充 1 concatenate A,B,C ABC2 mid 資料,從第幾個開始算,要幾個 如C1 ABC,mid C1,2,2 BC 3 right 資料,從右往左要幾個 如C1 ...

Python 中的 for 迴圈如何使用?

python教程 python中的迴圈語句 for in python中的迴圈語句 while 不要把 Python 中的 for 語法當 C 語言裡面那種 for 迴圈來用,雖然我們習慣上還是說 for 迴圈,但Python 中 for 的語義不是迴圈,而是遍歷迭代器 對乙個迭代器 實現了 nex...