程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式師世界 >> 編程語言 >  >> 更多編程語言 >> Python

python自動化系列之使用win32com操作Excel

編輯:Python

win32com是一個可以模擬人為操作程序的庫

win32模塊介紹:

win32com 模塊主要為 Python 提供調用 windows 底層組件對 word 、Excel、PPT 等進行操作的功能;
不過有其局限性,只能在 Windows 環境下使用,並且需要安裝 office 相關軟件才行(WPS也行);

win32com模塊不僅可以操作Excel,還可以操作其他在windows上安裝的應用程序,這裡只對操作Excel做簡單介紹;

win32com使用入門:

  • 安裝並引入
    安裝方式有多種,推薦使用pip安裝方式,打開命令行窗口,執行命令

    pip install pywin32
    pip install pypiwin32

    其中python2這個模塊是pywin32裡的,python3是pypiwin32
    引入win32com客戶端:

    from win32com import client

  • 簡單入門使用:

1、打開Excel程序
app = client.Dispatch(‘Excel.Application’)

打開word程序需傳入word.Application

2、設置可見,讓程序顯示在前台
app.Visible = True
3、使用以下方法創建一個工作簿
wb = app.Workbooks.Add()
4、或者打開一個已存在的文件
wb = app.Workbooks.Open(‘openpyxl.xlsx’)
5、獲取sheet表的兩種方式

根據名字 sheet = wb.Worksheets(‘Sheet2’)
根據標識 sheet = wb.Worksheets[0]

6、添加一個sheet並命名
wb.Worksheets.Add().Name = ‘New’
print(sheet.name)

7、給指定單元格賦值:

如給第8行第1列的單元格賦值,這裡單元格從1開始計數不是從0開始計數
sheet.Cells(8,1).Value = ‘test’
print(sheet.Cells(8,1).Value)

8、分別獲取最大行和列

print(len(sheet.UsedRange.Rows))
print(len(sheet.UsedRange.Columns))

9、跨行讀取

list0=sheet.Range(‘A2:A5’).Value
print(list0) 讀出來的是二維元組

10、保存文件並退出

wb.SaveAs(‘H:/openpyxl.xlsx’)
app.Quit()

其他操作

ws.Range("A1:B1").Font.Bold = True #加粗ws.Range("C1:D1").Merge() #合並單元格,合並之後讀寫均需選中第一個單元格ws.Range("A1:T1").Columns.AutoFit() #自動調節邊框寬度,有時調節出來不准確,需要手動再校正ws.Range("A1").ColumnWidth = 40 # 手動設置寬度

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式師世界 All Rights Reserved