世味 发表于 2023-9-15 16:34:56

Python一直报错找不到问题

代码一直报错:'str' object has no attribute 'rows',不知道到底啥问题?
import openpyxl
from PIL import ImageGrab

# 打开 Excel 文件
workbook = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\text.xlsx')

# 选择要截图的工作表
worksheet = workbook['试试']

# 定义截图区域的坐标
left, upper, right, lower = 0, 0, 2, 9

# 获取工作表的尺寸
rows, cols = worksheet.dimensions.rows, worksheet.dimensions.cols
# 创建一个与工作表相同尺寸的图像
image = ImageGrab.grab(bbox=(left, upper, right, lower))

# 保存图像到文件
image. Save('example.png')

isdkz 发表于 2023-9-15 16:35:05

代码中出现了错误,因为在获取工作表的尺寸时,使用了 worksheet.dimensions.rows ,但是 worksheet.dimensions 返回的是一个字符串类型,而字符串类型没有 rows 属性。可以使用 worksheet.max_row 和 worksheet.max_column 来获取工作表的最大行数和最大列数。

修改后的代码如下:

import openpyxl
from PIL import ImageGrab

# 打开 Excel 文件
workbook = openpyxl.load_workbook(r'C:\Users\Administrator\Desktop\text.xlsx')

# 选择要截图的工作表
worksheet = workbook['试试']

# 定义截图区域的坐标
left, upper, right, lower = 0, 0, 2, 9

# 获取工作表的尺寸
rows, cols = worksheet.max_row, worksheet.max_column
# 创建一个与工作表相同尺寸的图像
image = ImageGrab.grab(bbox=(left, upper, right, lower))

# 保存图像到文件
image.save('example.png')
页: [1]
查看完整版本: Python一直报错找不到问题