在上一篇插上翅膀,讓Excel飛起來——xlwings(一)中提到利用xlwings模塊蝴光,用python操作Excel有如下的優(yōu)點:
- xlwings能夠非常方便的讀寫Excel文件中的數(shù)據(jù)她渴,并且能夠進行單元格格式的修改
- 可以和matplotlib以及pandas無縫連接
- 可以調(diào)用Excel文件中VBA寫好的程序,也可以讓VBA調(diào)用用Python寫的程序蔑祟。
- 開源免費趁耗,一直在更新
本文緊接著上文介紹了xlwings模塊一些常用的api
常用函數(shù)和方法
- Book 工作簿常用的api
wb=xw.books[‘工作簿名稱']- wb.activate()激活為當前工作簿
- wb.fullname 返回工作簿的絕對路徑
- wb.name 返回工作簿的名稱
- wb.save(path=None) 保存工作簿,默認路徑為工作簿原路徑疆虚,若未保存則為腳本所在的路徑
-wb. close() 關(guān)閉工作簿
代碼例子:
# 引用Excel程序中焦除,當前的工作簿
wb=xw.books.acitve
# 返回工作簿的絕對路徑
x=wb.fullname
# 返回工作簿的名稱
x=wb.name
# 保存工作簿匠抗,默認路徑為工作簿原路徑,若未保存則為腳本所在的路徑
x=wb.save(path=None)
# 關(guān)閉工作簿
x=wb.close()
- sheet 常用的api
# 引用某指定sheet
sht=xw.books['工作簿名稱'].sheets['sheet的名稱']
# 激活sheet為活動工作表
sht.activate()
# 清除sheet的內(nèi)容和格式
sht.clear()
# 清除sheet的內(nèi)容
sht.contents()
# 獲取sheet的名稱
sht.name
# 刪除sheet
sht.delete - range常用的api
# 引用當前活動工作表的單元格
rng=xw.Range('A1')
# 加入超鏈接
# rng.add_hyperlink(r'www.baidu.com','百度',‘提示:點擊即鏈接到百度')
# 取得當前range的地址
rng.address
rng.get_address()
# 清除range的內(nèi)容
rng.clear_contents()
# 清除格式和內(nèi)容
rng.clear()
# 取得range的背景色,以元組形式返回RGB值
rng.color
# 設(shè)置range的顏色
rng.color=(255,255,255)
# 清除range的背景色
rng.color=None
# 獲得range的第一列列標
rng.column
# 返回range中單元格的數(shù)據(jù)
rng.count
# 返回current_region
rng.current_region
# 返回ctrl + 方向
rng.end('down')
# 獲取公式或者輸入公式
rng.formula='=SUM(B1:B5)'
# 數(shù)組公式
rng.formula_array
# 獲得單元格的絕對地址
rng.get_address(row_absolute=True, column_absolute=True,include_sheetname=False, external=False)
# 獲得列寬
rng.column_width
# 返回range的總寬度
rng.width
# 獲得range的超鏈接
rng.hyperlink
# 獲得range中右下角最后一個單元格
rng.last_cell
# range平移
rng.offset(row_offset=0,column_offset=0)
#range進行resize改變range的大小
rng.resize(row_size=None,column_size=None)
# range的第一行行標
rng.row
# 行的高度,所有行一樣高返回行高洛波,不一樣返回None
rng.row_height
# 返回range的總高度
rng.height
# 返回range的行數(shù)和列數(shù)
rng.shape
# 返回range所在的sheet
rng.sheet
#返回range的所有行
rng.rows
# range的第一行
rng.rows[0]
# range的總行數(shù)
rng.rows.count
# 返回range的所有列
rng.columns
# 返回range的第一列
rng.columns[0]
# 返回range的列數(shù)
rng.columns.count
# 所有range的大小自適應
rng.autofit()
# 所有列寬度自適應
rng.columns.autofit()
# 所有行寬度自適應
rng.rows.autofit() - books 工作簿集合的api
# 新建工作簿
xw.books.add()
# 引用當前活動工作簿
xw.books.active - sheets 工作表的集合
# 新建工作表
xw.sheets.add(name=None,before=None,after=None)
# 引用當前活動sheet
xw.sheets.active
實例
大Z老師霜浴,教了小z同學怎么用python操作Excel之后银伟,利用第一篇和第二篇的知識安疗,編寫了一個python小腳本,給小Z同學演示了一下怎么用python調(diào)整單元格的行寬暗赶、列寬和背景色鄙币,做一些Interesting的事肃叶。
小Z同學在看了這么cliche但是好玩的東西之后,自己果斷地修改了代碼十嘿,改變了單元格的顏色因惭,并在sheet里面進行了題字,然后绩衷,便有新的作品:
下一課有機會教小z同學蹦魔,利用python自帶的time模塊,讓Excel中靜態(tài)的畫和字動起來咳燕,成為像gif一樣的圖片勿决。
參考資料:
xlwings官方文檔