为了账号安全,请及时绑定邮箱和手机立即绑定

如何从COM客户端获取Excel单元格的值

如何从COM客户端获取Excel单元格的值

POPMUISE 2021-05-21 19:15:00
现在,我无法使用以下代码从COM和Python读取的Excel单元中检索值:from comtypes.client import CreateObjectfilename=r'testrap.xlsx'app = CreateObject("Excel.Application")app.Visible = Truewb = app.Workbooks.Open(filename)worksheet = wb.sheets(1)for row in range(1,11):    data = worksheet.Cells(row,1).Value    print(data)我总是得到comtypes.client.lazybind.NamedProperty object at 0x....而不是单元格的值打印在屏幕上。我究竟做错了什么?
查看完整描述

1 回答

?
慕仙森

TA贡献1827条经验 获得超7个赞

根据有关comtypes的文档,带参数的属性使用索引符号访问。wb.Sheets[1]和worksheet.Cells[2]是带有参数而不是方法的属性。另外,Value[3]是带有可选参数的属性。所以这应该工作:


from comtypes.client import CreateObject

filename=r'testrap.xlsx'

app = CreateObject("Excel.Application")

app.Visible = True

wb = app.Workbooks.Open(filename)

worksheet = wb.Sheets[1]


for row in range(1,11):

    data = worksheet.Cells[row, 1].Value()

    print(data)

但是不在Windows计算机上,因此无法测试此ATM。


查看完整回答
反对 回复 2021-05-25
  • 1 回答
  • 0 关注
  • 143 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信