小编xua*_*yao的帖子

使用 python win32com 创建数据透视图会导致 pywintypes.com_error

有谁可以给​​出在Excel中创建数据透视图的示例代码吗?我有一个使用数据透视表创建数据透视表的示例,它可以工作,而当我尝试以相同的方式创建数据透视图时,它总是会失败!

import win32com.client
import os

Excel   = win32com.client.gencache.EnsureDispatch('Excel.Application') 
win32c  = win32com.client.constants
wb      = Excel.Workbooks.Add()
Sheet1  = wb.Worksheets.Add()
TestData = [['Country','Name','Gender','Sign','Amount'],
             ['CH','Max' ,'M','Plus',123.4567],
             ['CH','Max' ,'M','Minus',-23.4567],
             ['CH','Max' ,'M','Plus',12.2314],
             ['CH','Max' ,'M','Minus',-2.2314],
             ['CH','Sam' ,'M','Plus',453.7685],
             ['CH','Sam' ,'M','Minus',-53.7685],
             ['CH','Sara','F','Plus',777.666],
             ['CH','Sara','F','Minus',-77.666],
             ['DE','Hans','M','Plus',345.088],
             ['DE','Hans','M','Minus',-45.088],
             ['DE','Paul','M','Plus',222.455],
             ['DE','Paul','M','Minus',-22.455]]

for i, TestDataRow in enumerate(TestData):
    for j, TestDataItem in enumerate(TestDataRow):
        Sheet1.Cells(i+2,j+4).Value = TestDataItem

cl1 = Sheet1.Cells(2,4)
cl2 = Sheet1.Cells(2+len(TestData)-1,4+len(TestData[0])-1)
PivotSourceRange = Sheet1.Range(cl1,cl2)
PivotSourceRange.Select()

Sheet2 = wb.Worksheets("Sheet1")
cl3=Sheet2.Cells(4,1)
PivotTargetRange=  Sheet2.Range(cl3,cl3)
PivotTableName = 'ReportPivotTable'

PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange, Version=win32c.xlPivotTableVersion14)
PivotTable = PivotCache.CreatePivotTable(TableDestination=PivotTargetRange, TableName=PivotTableName, DefaultVersion=win32c.xlPivotTableVersion14) …
Run Code Online (Sandbox Code Playgroud)

python pivot-table win32com pivot-chart

5
推荐指数
1
解决办法
3566
查看次数

标签 统计

pivot-chart ×1

pivot-table ×1

python ×1

win32com ×1