个性化阅读
专注于IT技术分析

无法在使用win32COM python库创建的PIVOT表中插入计算字段

点击下载

我试图在使用win32com python库创建的PIVOT表中插入一个计算字段。但是, 当我执行我的代码时, excel给我错误:”数据透视表公式中不支持引用, 名称和数组”

import win32com.client
Excel = win32com.client.gencache.EnsureDispatch('Excel.Application')
win32c = win32com.client.constants
Wb = Excel.Workbooks.Open('MyWorkbook')
Excel.Visible = True
Ws = Wb.Sheets('PR Jan20')

Wb.Sheets.Add()
Wb.ActiveSheet.Name = 'PivotSheet'
WsP = Wb.Sheets('PivotSheet')

MaxR = Ws.UsedRange.Rows.Count
MaxC = Ws.UsedRange.Columns.Count
C1 = Ws.Cells(1, 1)
C2 = Ws.Cells(MaxR, MaxC)
PivotSourceRange = Ws.Range(C1, C2)

PCache = Wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange, Version=win32c.xlPivotTableVersion14)
PTable = PCache.CreatePivotTable(TableDestination=WsP.Range('B2'), TableName='RegisterPivot', DefaultVersion=win32c.xlPivotTableVersion14)

PTable.PivotFields('Party').Orientation = win32c.xlRowField
PTable.PivotFields('Party').Position = 1
PTable.AddDataField(PTable.PivotFields('Gross Kgs'))
PTable.AddDataField(PTable.PivotFields('Amount (RS.)'))
#till above this line code is working fine

#this below line is causing issue
PTable.CalculatedFields().Add('Average Purchase Rate', '= Amount (RS.) / Gross Kgs')

” Excel错误”


#1


我已经解决了上述问题。问题出在列名” Amount(RS。)”上, 我将该列重命名为” Amount”, 并且一切正常。我认为VBA不适合在Pivot字段名中使用()括号。。

赞(0)
未经允许不得转载:srcmini » 无法在使用win32COM python库创建的PIVOT表中插入计算字段

评论 抢沙发

评论前必须登录!