五月综合激情婷婷六月,日韩欧美国产一区不卡,他扒开我内裤强吻我下面视频 ,无套内射无矿码免费看黄,天天躁,日日躁,狠狠躁

新聞動(dòng)態(tài)

python兼容VBA的用法詳解

發(fā)布日期:2022-01-05 18:34 | 文章來源:源碼之家

一、簡介

有時(shí)我們需要向含有VBA代碼的Excel寫入數(shù)據(jù),但又不能影響正常的VBA代碼執(zhí)行,起初我使用python的openpyxl模塊中函數(shù)將數(shù)據(jù)寫入xlsm文件中,寫入數(shù)據(jù)后發(fā)現(xiàn)執(zhí)行VBA代碼的按鈕消失不見了,于是通過查找原因發(fā)現(xiàn)是由于openpyxl對VBA支持并不友好,而對VBA支持友好是xlwings模塊。

二、簡單介紹下xlwings模塊

1、讀取Excel中數(shù)據(jù)

讀取需注意點(diǎn):
默認(rèn)情況下,帶有數(shù)字的單元格被讀取為float,帶有日期單元格被讀取為datetime.datetime,空單元格轉(zhuǎn)化為None;數(shù)據(jù)讀取可以通過option操作指定格式讀取。

import xlwings as xw
import os
#創(chuàng)建APP應(yīng)用
app=xw.App(visible=True,add_book=False) #visible表示程序運(yùn)行時(shí)是否可見Excel,True表示可見,F(xiàn)alse表示不可見;add_book表示是否要新建工作簿
file = "數(shù)據(jù)寫入V1.xlsm"
wb=app.books.open(file)  #打開指定文件

ws = wb.sheets["Sheet1"] #工作表引用
#ws.activate()
temp_value = ws["B2"].value #默認(rèn)讀取B2的值,為浮點(diǎn)型
print(type(temp_value))
print(temp_value)
temp_n = ws["B3"].value  #默認(rèn)讀取B3的值,這里未空值默認(rèn)應(yīng)顯示None
print(type(temp_n))
print(temp_n)
temp_value1 = ws["B2"].options(numbers=int).value#將B2的設(shè)置為整數(shù)
print(type(temp_value1))
print(temp_value1)

#運(yùn)行結(jié)果

<class 'float'>

100.0

<class 'NoneType'>

None

<class 'int'>

100

>>> 

2、另一種取值單元格值得方式

import xlwings as xw
import os
app=xw.App(visible=True,add_book=False) 
file = "數(shù)據(jù)寫入V1.xlsm"
wb=app.books.open(file) #打開指定文件
ws = wb.sheets["Sheet1"]
print(ws.range('B2').value)#另一種方式讀取B2的值
#運(yùn)行結(jié)果
100.0

三、將數(shù)據(jù)寫入Excel

import xlwings as xw
import os
#創(chuàng)建APP應(yīng)用
app=xw.App(visible=True,add_book=False) 
file = "數(shù)據(jù)寫入V1.xlsm"
wb=app.books.open(file) #打開指定文件
#工作表引用
ws = wb.sheets["Sheet1"]
a = 6799
b = 2345
c = 1000
info = ws.used_range
#print(info)
nrows = info.last_cell.row #獲取sheet表中最大行
print(nrows)
if ws['B'+str(nrows)]==None:
 ws['B'+str(int(nrows)-1)].value=a
 ws['C'+str(int(nrows)-1)].value=b
 ws['D'+str(int(nrows)-1)].value=c
else:
 ws['B'+str(int(nrows)+1)].value=a
 ws['C'+str(int(nrows)+1)].value=b
 ws['D'+str(int(nrows)+1)].value=c
 
wb.save()#保存數(shù)據(jù)
wb.close()  #關(guān)閉工作簿
app.quit() 

寫入后

到此這篇關(guān)于python兼容VBA的用法詳解的文章就介紹到這了,更多相關(guān)python兼容VBA的用法內(nèi)容請搜索本站以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持本站!

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部