还在这里学习python的来龙去脉。我使用openpyxl库取得了一些小小的成功,并开始使用excel文件作为" canvas"从目录读取1位bmp文件然后到"复制显示"通过删除指南,减小每个单元格的大小,最后在每个单元格中添加一个小图像,从枕头中获取来自getdata方法的二进制数据列表,在工作表上显示图像。
我没有完成整个逻辑,但我在下面的代码中遇到了两个晚上的麻烦,我仍然不知道为什么我会得到名字' openpyxl'几乎没有在代码sheet.add_image(openpyxl.drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row))
底部的行中定义错误
使用几乎相同的openpyxl和PIL库导入,我在类似项目上取得了成功。
from openpyxl import Workbook
import os
from PIL import Image
# for file in os.listdir():
# if file.endswith('bmp'):
os.chdir('c:/users/Sam/Desktop/py')
img = Image.open('trump.bmp')
img_width, img_height = img.size
pix_val = list(img.getdata())
wb = Workbook()
def colnum_string(n):
string = ""
while n > 0:
n, remainder = divmod(n - 1, 26)
string = chr(65 + remainder) + string
return string
r_height = 3
c_width = 3
sheet = wb.create_sheet("Mysheet")
for col in range(1, img_height):
sheet.row_dimensions[img_height].height = r_height
for row in range(1, img_width):
sheet.column_dimensions[colnum_string(col)] = c_width
sheet.add_image(openpyxl.drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row))
wb.save('out.xlsx')
有人可以帮帮我吗?
答案 0 :(得分:0)
您只能导入工作簿'''来自openpyxel的子模块。尝试:
from openpyxel import Workbook, drawing # also import drawing namespace
[...]
sheet.add_image(drawing.image.Image('square_blue.jpg'), colnum_string(col)+str(row))
[...]