1.Workbook對象
Workbook相當於是一個文件,WorkSheet就是文件裏面的每個具體的表,比如新建Excel文件裏面的'Sheet1'這個,一個Workbook裏面有一個或多個WorkSheet.
1.1 獲取Workbook對象
兩種方式
(1)新建對象:
from openpyxl import Workbook wb = Workbook() wb.save('C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx')
(2)導入已存在的對象:
from openpyxl import load_workbook file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx' wb = load_workbook(file_path)
1.2 Workbook屬性
print(wb.worksheets) 返回所有WorkSheet的列表,類型爲list
print(wb.active) 返回當前默認選中的WorkSheet
print(wb.sheetnames) 返回所有WorkSheet的列表,類型爲list
1.3 Workbook方法
get_sheet_names(): 同sheetnames
get_active_sheet(): 同active屬性
get_sheet_by_name(name): 根據名稱獲取WorkSheet
remove(worksheet): 刪除一個WorkSheet,注意是WorkSheet對象,不是名字
save(filename): 保存到文件,記住有寫入操作記得保存!!!
2 worksheet對象
2.1 獲取worksheet對象
ws1 = wb.active # 獲取默認打開的(active)的WorkSheet
ws2 = wb.create_sheet() # 創建一個WorkSheet,可傳title和index兩個參數,不傳生成的WorkSheet名在'Sheet'後面遞增加數字。
ws3=wb['Sheet1'] # 通過名稱獲取WorkSheet
2.2 worksheet屬性
rows: 返回所有有效數據行,有數據時類型爲generator,無數據時爲tuple
columns:返回所有有效數據列,類型同rows
max_column:有效數據最大列
max_row:有效數據最大行
min_column:有效數據最小列,起始爲1
min_row:有效數據最大行,起始爲1
values:返回所有單元格的值的列表,類型爲tuple
title:WorkSheet的名稱
2.3 worksheet方法
cell(coordinate=None, row=None, column=None, value=None)
獲取指定單元格或設置單元格的值,具體使用在cell下面介紹
3 操作cell
3.1 獲取cell對象
(1)使用WorkSheet的Cell方法
c1=ws.cell(1,1)
c2=ws.cell(row=1,column=1) #獲取A1單元格
(2)通過座標獲取Cell
c3=ws['A1']# 獲取多個
c3=ws['A1:A3'] #返回多行數據,類型爲tuple
注意此處獲取的不是單元格的值。
3.2 設置Cell的值
(1)直接使用WorkSheet的cell方法設置
ws.cell(row=1,column=1,value=10)
(2)設置Cell對象value屬性
c1=ws.cell('A1')
c1.value=100
3.3 Cell屬性
column:所在列,起始爲1
row:所在行,起始爲1
coordinate: 所在座標,如'A1'
parent: 所屬的WorkSheet
value: 單元格的值
3.4 Cell方法
offset(row=0, column=0): 偏移
# -*- coding:utf-8 -*- import os from openpyxl import Workbook from openpyxl import load_workbook file_path = 'C:\\Users\\Administrator\\PycharmProjects\\excel\\test.xlsx' if os.path.exists(file_path): print("excel file exist") else: wb = Workbook() wb.create_sheet('Sheet1')#新建sheet頁 wb.save(file_path) """ a = wb.worksheets b = wb.active c = wb.sheetnames d = wb.get_active_sheet e = wb.get_sheet_names f = wb.get_sheet_by_name """ wb = load_workbook(file_path) #加載workbook對象 ws = wb.active ws.cell(row=1, column=1, value=10) #寫入單元格 ws.cell(row=2, column=1, value=10) ws.cell(row=3, column=1, value=10) wb.save(file_path) #保存文件 a1 = ws.cell(1, 1) print(a1.column, a1.row, a1.value, a1.parent) a2 = ws.cell(row=1, column=1) print(a2.column, a2.row, a2.value, a2.parent) a3 = ws['A1:A3'] print(a3)