xlwings使用api.autofill如何传递范围作为range.autofill方法的参数

时间:2017-02-01 10:10:18

标签: python xlwings

我可以使用VBA和range.autofill方法轻松地在Excel上使用公式填充列:

$_SESSION['p'];

这将获取单元格A2(或范围)上的公式/内容并将其展开为A10。

查看MSDN帮助,我看到:https://msdn.microsoft.com/en-us/library/office/ff195345.aspx

和:https://msdn.microsoft.com/en-us/library/office/ff838605.aspx

关于xlwings,我可以这样做:

Range("A2").AutoFill Destination:=Range("A2:A10"), Type:=xlFillDefault

但我不知道如何通过import xlwings as xw rp = xw.Book(myFile) rp.sheets('mySheet').range('A2').api.autofill(range, 0) 。我不能简单地输入“A2:A10”,我需要传递一个范围对象。

我试图这样做:range但这简直吹了Python!

有什么想法吗?谢谢!

2 个答案:

答案 0 :(得分:1)

您需要通过api两次使用基础Range对象。假设你在Windows上,这将有效:

import xlwings as xw
from xlwings.constants import AutoFillType

wb = xw.Book('Book1')
sheet = wb.sheets(1)
sheet.range('A2').api.AutoFill(sheet.range("A2:A10").api,
                               AutoFillType.xlFillDefault)

答案 1 :(得分:0)

这将在Mac上运行:

import xlwings as xw
from xlwings.constants import AutoFillType

wb = xw.Book('euromillions.csv')
ws = wb.sheets('euromillions')

ws.range("A2").api.autofill(destination = ws.range("A2:A5").api, type = AutoFillType.xlFillDefault)