python创建表格怎么只能65536_python - 在Python和Excel 2010中使用Win32时如何克服65536 Excel行限制 - 堆栈内存溢出...

在尝试使用Python的win32com.client库创建Excel2010数据透视表时,遇到了'Exception: Typemismatch'错误。问题可能源于尝试处理超过65536行的数据,这是Excel2003之前的版本的最大行限制。尽管Excel2010已取消此限制,但代码在处理大型工作表时仍出现错误。尝试强制将文件视为Excel2010格式并未解决问题。
摘要由CSDN通过智能技术生成

我可以使用大于65536行的输入工作表来创建Excel 2010数据透视表。 当我使用win32com.client和'Excel.Application'在Python中尝试此操作时,失败并显示以下消息

Exception: Type mismatch.

这仍然是一个模糊的消息,但是65536是最有效的地方这一事实向我表明,该代码无法处理超过此行数的Excel工作表范围。

import win32api

import win32com.client

import pythoncom

Excel = win32com.client.gencache.EnsureDispatch('Excel.Application')

wb = Excel.Workbooks.Open("output.xlsx")

sh_data = wb.Worksheets("DATA")

cl1 = sh_data.Cells(1,1)

cl2 = sh_data.Cells(65537,6)

PivotSourceRange = sh_data.Range(cl1,cl2)

sh_output = wb.Worksheets("OUTPUT")

outlc=sh_output.Cells(1,1)

PivotTargetRange= sh_output.Range(outlc,outlc)

PivotTableName = 'ReportPivotTable'

try:

PivotCache = wb.PivotCaches().Create(SourceType=win32c.xlDatabase, SourceData=PivotSourceRange, Version=win32c.xlPivotTableVersion14)

except pythoncom.com_error as error:

print(error)

print("Exception: " + win32api.FormatMessage(error.excepinfo[5]))

这不是完整的代码段,并且代码在PivotCache行中失败,并带有:

(-2147352567, 'Exception occurred.', (0, None, None, None, 0, -2147352571), 3)

Exception: Type mismatch.

我可以强制将output.xlsx文件视为Excel 2010文件来解决此问题吗? Excel 2010是计算机上唯一的Excel版本。

谢谢。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值