下面给出“使用Python通过win32COM打开Excel并添加Sheet的方法”的完整实例教程,分以下几个步骤:
Step1:安装依赖
安装pywin32依赖,使用pip即可:
pip install pywin32
Step2:导入win32com
使用Python通过win32COM调用Excel需要先导入win32com库,代码如下:
import win32com.client as win32
Step3:打开Excel
通过win32COM打开Excel,需要使用win32.DispatchEx()方法,并传入Excel的版本号(如”Excel.Application.16″)以及工作簿的文件路径,代码如下:
excel = win32.DispatchEx("Excel.Application.16")
workbook = excel.Workbooks.Open("file_path")
其中,”Excel.Application.16″是Excel的版本号,可以根据自己的实际版本进行替换;”file_path”是Excel工作簿的路径,需要替换成自己保存的文件路径。
Step4:添加Sheet
通过win32COM打开Excel工作簿后,可以使用workbook.Sheets.Add()方法添加Sheet,代码如下:
worksheet = workbook.Sheets.Add()
worksheet.Name = "Sheet1"
其中,”Sheet1″是新添加的Sheet的名称,可以根据实际需要进行替换。
示例1:导出数据到Excel
接下来,我们以将数据导出到Excel为例进行示范。
import win32com.client as win32
# 准备数据
data = [
["Name", "Age", "Gender"],
["Tom", 21, "Male"],
["Jerry", 19, "Male"],
["Lucy", 20, "Female"]
]
# 打开Excel并添加Sheet
excel = win32.DispatchEx("Excel.Application.16")
workbook = excel.Workbooks.Add()
worksheet = workbook.Sheets.Add()
worksheet.Name = "Data"
# 写入数据到Sheet
for row in range(len(data)):
for col in range(len(data[row])):
cell = worksheet.Cells(row + 1, col + 1)
cell.Value = data[row][col]
# 保存并关闭Excel
workbook.SaveAs(r"D:\data.xlsx")
workbook.Close()
excel.Quit()
以上示例中,我们先准备了一些数据,然后通过win32COM打开Excel并添加了一个名为”Data”的Sheet,最后将数据写入到Sheet,最终将Excel文件保存在了本地磁盘。
示例2:复制Sheet
另外一个常见的需求是复制Sheet,下面演示如何通过win32COM实现Sheet的复制。
import win32com.client as win32
# 打开Excel并添加Sheet
excel = win32.DispatchEx("Excel.Application.16")
workbook = excel.Workbooks.Open(r"D:\data.xlsx")
worksheet = workbook.Sheets("Data")
# 复制Sheet
worksheet.Copy(None, workbook.Sheets("Sheet1"))
# 保存并关闭Excel
workbook.Save()
workbook.Close()
excel.Quit()
以上示例中,我们先打开之前的示例中保存的Excel文件,然后复制了名为”Data”的Sheet,并将复制的Sheet插入到了名为”Sheet1″的Sheet之后,最终将Excel文件保存并关闭。