win32com 操作 Excel 方法整理

import win32com.client

excel_path=r"C:\Users\Administrator\Desktop\Test.xlsx"

'''载入excel'''
xlApp=win32com.client.Dispatch("Excel.Application")

'''设置是否打开Excel
True:Excel可见
Fasle:Excel不可见
'''
xlApp.Visible=True

'''设置是否显示警告和消息框
True:显示
False:不显示
'''
xlApp.DisplayAlerts=False

'''打开Excel'''
xlwb=xlApp.Workbooks.Open(excel_path,False)

'''获取某个Sheet页数据(参数可以为Sheet页名称或下标)'''
# sheet_data=xlwb.Worksheets("Sheet1")
sheet_data=xlwb.Worksheets(1) #Sheet页下标从1开始

'''获取行列数'''
#列数
cols = sheet_data.UsedRange.Columns.Count
print(cols)
#行数
rows = sheet_data.UsedRange.Rows.Count
print(rows)

'''获取单元格的值'''
cell_data=sheet_data.Cells(1,1).Value #行列序号从1开始
print(cell_data)

'''写入单元格'''
sheet_data.Cells(1,1).Value="名称"

'''设置单元格格式'''
sheet_data.Cells(1, 1).Font.Size = 15   #字体大小
sheet_data.Cells(1, 1).Font.ColorIndex = 3   #字体颜色
sheet_data.Cells(1, 1).Font.Bold = True #是否粗体
sheet_data.Cells(1, 1).Name = "Arial"   #字体类型
sheet_data.Cells(1, 2).Interior.ColorIndex = 3 #单元格颜色

'''设置行高'''
sheet_data.Rows(1).RowHeight = 50   #行高
'''获取某个区域的数据,返回为一个二维元组'''
range_data=sheet_data.Range("A1", "B3").Value
print(range_data)

'''删除行列,序号从1开始'''
sheet_data.Rows(1).Delete()#删除行
sheet_data.Columns(1).Delete()#删除列

'''插入单行'''
range_obj = sheet_data.Range('A2')
range_obj.EntireRow.Insert()
#保存excel1
xlwb.Save()
#关闭Excel
xlwb.Close()
xlApp.Quit()