利用 pywin32 操作 excel


 1 from win32com.client import Dispatch
 2 import win32com.client
 3 import time
 4 
 5 # 獲取excel 對象
 6 
 7 excel = win32com.client.Dispatch('Excel.Application')
 8 
 9 """
10 0代表隱藏對象,但可以通過菜單再顯示
11 -1代表顯示對象
12 2代表隱藏對象,但不可以通過菜單顯示,只能通過VBA修改為顯示狀態
13 """
14 excel.Visible = -1
15 
16 # 打開excel
17 
18 myBook = excel.Workbooks.Open("e:/接口測試用例.xlsx")
19 
20 # sheet頁,可以是序號,也可以是名稱
21 mySheet = myBook.Worksheets("過程結果")
22 #excel的下標都是從1開始的
23 #mySheet = myBook.Worksheets(1)
24 
25 time.sleep(2)
26 
27 # 刪除行,清除歷史數據
28 mySheet.Rows("2:500").delete
29 #mySheet.Columns("1").delete
30 
31 # 獲取當前sheet頁有效的行數
32 LastRow = mySheet.usedrange.rows.count
33 print("該sheet頁目前已經存在", LastRow, "")
34 
35 # 獲取當前sheet頁有效的列數
36 LastColumn = mySheet.usedrange.columns.count
37 print(LastColumn)
38 
39 # 焦點轉移到sheet頁
40 mySheet.Activate
41 # 給單元格賦值 Cells(行,列)
42 mySheet.Cells(2, 2).Value = "使用win32com"
43 # 設置單元格字體位紅色
44 mySheet.Cells(2, 2).Font.Color = -16776961
45 # 設置單元格字體為粗體
46 mySheet.Cells(2, 2).Font.Bold = True
47 # 設置單元格字體
48 mySheet.Cells(2, 2).Font.Name = "微軟雅黑"
49 
50 time.sleep(1)
51 
52 mySheet.Activate
53 mySheet.Cells(2, 3).Value = "使用win32com"
54 # 設置單元格字體位綠色
55 mySheet.Cells(2, 3).Font.Color = -11489280
56 mySheet.Cells(2, 3).Font.Bold = True
57 
58 # 獲取一個單元格的值
59 aCellValue=mySheet.Cells(2, 3).Value
60 print(aCellValue)
61 
62 
63 # 獲取一個范圍的值,類型為嵌套的list
64 range_list=mySheet.Range(mySheet.Cells(1, 1), mySheet.Cells(5, 5)).Value
65 
66 # 給一個范圍賦值,輸入的值應該為嵌套的list
67 mySheet.Range(mySheet.Cells(6, 1), mySheet.Cells(10, 10)).Value = range_list
68 # 改變一個范圍的屬性值
69 mySheet.Range(mySheet.Cells(6, 1), mySheet.Cells(10, 10)).Font.Color = -11489280
70 
71 # 如果范圍是一行的話,賦值應該使用非嵌套的list,例如:
72 row_v=(1,2,3,4)
73 mySheet.Range(mySheet.Cells(11, 1), mySheet.Cells(11, 4)).Value = row_v
74 
75 # 給整個一行賦值,慎用。。。
76 mySheet.Rows(12).Value = row_v
77 print(range_list)
78 
79 #單元格添加顏色
80 WinSheet.Cells(1, 1).Interior.ColorIndex = 3
81 #或者Range("A1") 
82 WinSheet.Range("A1").Interior.ColorIndex = 3   
83 #3=紅色,不同的值代表不同的顏色,可以去查看msdn  vba 文檔,這就不詳細說了
84  
85 #再是RGB調色方式#Cells 和 Range都可以,Range可以選擇一大片區域
86 WinSheet.Cells(1, 1).Interior.Color = RGB(0, 0, 255) 
87 #
88 WinSheet.Range("A1").Interior.Color = RGB(255, 0, 255) 
89 #字體的顏色也是一樣
90 WinSheet.Cells(1, 1).Font.ColorIndex = 3
91 WinSheet.Cells(1, 1).Font.Color = RGB(0, 0, 255)
92 
93 # 保存
94 myBook.save
95 
96 # 退出
97 myBook.close

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM