sheet = excel.get_sheet() 错误信息:AttributeError: 'str' object has no attribute 'get_sheet'
时间: 2023-06-22 07:05:41 浏览: 57
这个错误提示的意思是你正在尝试在一个字符串对象上调用名称为`get_sheet`的方法,但是字符串对象没有这个方法。可能原因是你打开的是一个 Excel 文件的文件名字符串,而不是一个 Workbook 对象。
你需要使用 openpyxl 库中的`load_workbook`函数来打开 Excel 文件并加载 Workbook 对象,然后才能调用 Workbook 对象的方法。示例代码如下:
```python
import openpyxl
# 打开 Excel 文件并加载 Workbook 对象
workbook = openpyxl.load_workbook('example.xlsx')
# 获取工作表对象
sheet = workbook.active
```
请注意,`load_workbook`函数的参数应该是 Excel 文件的路径,而不是文件名字符串。如果你已经将文件名存储在字符串变量中,请确保它包含完整的文件路径。
相关问题
info = sht.used_range AttributeError: 'Sheet' object has no attribute 'used_range'
这个错误通常是因为你的代码中使用了 openpyxl 库的已弃用的方法。在 openpyxl 3.0 版本中, `used_range` 方法已被移除。相反,您可以使用 `worksheet.dimensions` 属性。
您可以使用以下代码来获取使用的区域:
```
from openpyxl import load_workbook
# 加载工作簿
workbook = load_workbook(filename='example.xlsx')
# 获取活动工作表
worksheet = workbook.active
# 获取使用的区域
used_range = worksheet.dimensions
# 输出使用的区域
print(used_range)
```
这将返回一个字符串,指示使用的区域(例如,`'A1:C10'`)。
selected_sheet_name = self.sheet_names[self.selected_sheet_index] AttributeError: 'ExcelApp' object has no attribute 'selected_sheet_index'
非常抱歉,我在之前的代码中忘记了添加获取 `selected_sheet_index` 的逻辑。在 `load_excel` 函数中,可以添加以下代码来获取当前选中的工作表的索引:
```python
# 获取当前选中的工作表索引
self.selected_sheet_index = 0
for i, sheet_name in enumerate(self.sheet_names):
if sheet_name == selected_label_text:
self.selected_sheet_index = i
break
```
这段代码会遍历所有工作表的名称,找到与当前选中的标签文本相同的工作表名称,并记录其索引。然后在后面的代码中使用 `selected_sheet_index` 来获取当前选中的工作表的名称。