模組匯入
import openpyxl
讀取Excel檔案
開啟Excel檔案
workbook = openpyxl。load_workbook(“test。xlsx”)
輸出表單名字
# 輸出工作簿中所有表單名字print(workbook。sheetnames)# 遍歷所有表單並輸出其名字for sheet in workbook: print(sheet。title)
建立表單
newSheet = workbook。create_sheet(“newSheetName”)
獲取表單物件
# 根據表單名獲取表單sheet3 = workbook。get_sheet_by_name(“Sheet3”)sheet4 = workbook[“newSheetName”]# 獲取當前活躍的表單worksheet = workbook。active
獲取當前表單資料行列數
# 獲取當前表單資料行數row_count = worksheet。max_row# 獲取當前表單資料列數row_count = worksheet。max_column
獲取單元格物件
selectcell = worksheet[“A1”]selectcell = worksheet。cell(row=1, column=2) # 行列號從1開始
輸出單元格資訊
單元格所在的行、列
print(selectcell。row, selectcell。column)
單元格的座標
print(selectcell。coordinate)
單元格的值
print(selectcell。value)
獲取列物件
selectcol = worksheet[“C”]
獲取列物件中某一單元格
selectcell = selectcol[“2”]
獲取連續多列組成的物件
selectcols = worksheet[“B:C”]
獲取所有列組成的物件
allcol = worksheet。cols
獲取行物件
selectrow = worksheet[“2”]
獲取行物件中某一單元格
selectcell = selectcol[“C”]
獲取連續多行組成的物件
selectcols = worksheet[“1:4”]
獲取所有行組成的物件
allrow = worksheet。rows
獲取一定範圍內的單元格組成的物件
cell_range = worksheet[“A1:C3”]
遍歷一定範圍內的單元格
for row_range in cell_range: # 先行再列 for cell in row_range: print(cell。value)
行的字母表示與數字換算
from openpyxl。utils import get_column_letter, column_index_from_stringprint(get_column_letter(2))) # 2 => Bprint(column_index_from_string(“C”)) # C => 3
編輯Excel檔案
建立workbook物件
workbook = openpyxl。Workbook()
建立表單
workbook。create_sheet(index=1, title=“第二張表”)
刪除表單
workbook。remove_sheet(workbook。get_sheet_by_name(“Sheet3”))
獲取當前活躍的表單
sheet = workbook。active
修改表單名稱
sheet。title = “設定的表單名稱”
修改單元格的值
sheet[“A1”] = “New Value”
批次寫入資料
方法一
import openpyxlfrom openpyxl。utils import get_column_letter, column_index_from_stringworkbook = openpyxl。Workbook()ws1 = workbook。create_sheet(“第一頁”)for row in range(40): ws1。append(range(17))
方法二
import openpyxlfrom openpyxl。utils import get_column_letter, column_index_from_stringworkbook = openpyxl。Workbook()ws2 = workbook。create_sheet(“第二頁”)rows = [ [“Number”, “Batch1”, “Batch2”], [2,40,30],[3,50,25], [4,30,30],[5,60,10]]for row in rows: ws2。append(row)
修改完畢儲存到檔案
workbook。save(“created。xlsx”)