阅读 [#All/#Headers/#Data/#Totals] 在 xlwings 中不起作用还有吗?

问题描述

你好社区我是新来的,现在不能“添加评论”。 所以我创建了这个问题。

我遇到了问题,我不明白为什么。 这里也解释了这个问题,但对我不起作用。 How to reference Excel table column names in XLWings?

我想读取表格的所有元素:

import xlwings as xw

s_table_name = 'test1'
wb = xw.Book(r'D:\Python\test.xlsx')
d_table = xw.Range(f'{s_table_name}[String]') # this works
d_table1 = xw.Range(f'{s_table_name}[[#All],[String]]') # this didn't -> raise an exception -> see below

这里的例外:

Traceback (most recent call last):
  File "D:/Python/Experiments/test.py",line 6,in <module>
    d_table1 = xw.Range(f'{s_table_name}[[#All],[String]]').value # this didn't -> raise an exception
  File "D:\Python\Experiments\venv\lib\site-packages\xlwings\main.py",line 1244,in __init__
    impl = apps.active.range(cell1).impl
  File "D:\Python\Experiments\venv\lib\site-packages\xlwings\main.py",line 404,in range
    return Range(impl=self.impl.range(cell1,cell2))
  File "D:\Python\Experiments\venv\lib\site-packages\xlwings\_xlwindows.py",line 427,in range
    xl1 = self.xl.Range(arg1)
  File "D:\Python\Experiments\venv\lib\site-packages\xlwings\_xlwindows.py",line 66,in __call__
    v = self.__method(*args,**kwargs)
  File "C:\Users\marti\AppData\Local\Temp\gen_py\3.8\00020813-0000-0000-C000-000000000046x0x1x8.py",line 42299,in Range
    ret = self._oleobj_.InvokeTypes(197,LCID,2,(9,0),((12,1),(12,17)),Cell1
pywintypes.com_error: (-2147352567,'Ausnahmefehler aufgetreten.',(0,None,-2146827284),None)

我尝试了此页面上的所有命令: https://peltiertech.com/structured-referencing-excel-tables/ 喜欢:

  • [#All]
  • [#Headers]
  • [#Data]
  • [#Totals]

以及其他添加参数的方式:

d_table1 = xw.Range(f'{s_table_name}[[#All]]')
d_table1 = xw.Range(f'{s_table_name}[#All]')

但我经常遇到同样的异常。 可以肯定的是,我的 excel 版本(我使用的是 2013)没有问题,我创建了一个带有内置宏记录器的小宏:

Sub Makro1()
    Range("test1[#All]").Select
End Sub

我不明白我的问题从何而来。 可能 xlwings 不再支持开头带有 # 的参数,但没有找到任何相关信息。

请帮帮我!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)