使用win32com模块-Python查找A列的最后一行,并在其下方填充单元格

问题描述 投票:0回答:1

我正在尝试在A列中找到最后一行,并使用“填充系列”格式填充最后一行下方的单元格。我的代码如下所示。

这里有几点注意事项1)在确定来源范围和填充范围之前先对工作表进行分组选择2)列数据类型可能因工作表而异,但是当我指定确切范围时,填充序列格式会起作用。

import win32com.client as win32

excel = win32.gencache.EnsureDispatch('Excel.Application')
excel.Visible = True
wb = excel.Workbooks.Open ('D:\\Data Str\\Test Files\\Book1.xls')
ws = wb.Worksheets(['Sheet1','Sheet2'])
ws.Select()
for sheet in ws:
       lastRow = sheet.UsedRange.Rows.Count
       print (lastRow)
       sourceRange = sheet.Range("A") & lastRow
       fillRange = sheet.Range("A") & lastRow + 1
       sourceRange.AutoFill(fillRange, win32.constants.xlFillSeries)

代码按预期运行,直到sourceRange变量出现以下错误。

com_error:(-2147352567,“发生了异常。”,(0,无,无,无,0,-2146827284),无)

我的预期输出和示例数据集显示在下表中。两列分别对应于Sheet1和Sheet 2的A列。

Key (Sheet1)    Date (Sheet 2)
1               01/11/2019
2               02/11/2019
3               03/11/2019
4               04/11/2019
5               05/11/2019
6               06/11/2019
7               07/11/2019
8               08/11/2019
9               09/11/2019
10              10/11/2019
11              11/11/2019

Expected Result

Key (Sheet1)    Date (Sheet 2)
1               01/11/2019
2               02/11/2019
3               03/11/2019
4               04/11/2019
5               05/11/2019
6               06/11/2019
7               07/11/2019
8               08/11/2019
9               09/11/2019
10              10/11/2019
11              11/11/2019
12              12/11/2019

我正在尝试在A列中找到最后一行,并使用“填充系列”格式填充最后一行下方的单元格。我的代码如下所示。这里有几点注意事项1)工作表是分组选择的...

python excel win32com
1个回答
0
投票

似乎问题是我没有正确参考和定义分组表中单元格的范围。请查看我的代码上的注释(#):

© www.soinside.com 2019 - 2024. All rights reserved.