【发布时间】:2021-08-10 02:42:37
【问题描述】:
大家好,我是新来的,现在不能“添加评论”。 所以我提出了这个问题。
我有一个问题,我不明白为什么。 问题在这里也得到了解释,但对我不起作用。 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, None, None, 0, -2146827284), None)
我尝试了此页面中的所有命令: https://peltiertech.com/structured-referencing-excel-tables/ 喜欢:
- [#全部]
- [#Headers]
- [#数据]
- [#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已经不支持#开头的参数了,但是没找到。
请帮帮我!
【问题讨论】:
标签: python python-3.x excel-2013 xlwings