我可以使用以下代码在python中使用insert_bitmap
模块的xlwt
命令插入bmp图像:
import xlwt
from PIL import Image
book = xlwt.Workbook()
sheet3 = book.add_sheet('diagrams')
Image.open('violations.png').convert("RGB").save('violations.bmp')
sheet3.insert_bitmap('violations.bmp',5,13)
book.save('simple.xls')
这是正确地将bmp图像插入到工作表中,但我担心的是bmp图像大约为3MB,我无法在没有明显质量损失的情况下压缩它。
有没有办法将jpeg图像插入到unix中的工作表中?
答案 0 :(得分:7)
从查看代码看起来xlwt只支持24位位图图像。
XlsxWriter Python模块可以插入PNG图像(或JPEG或Bitmap)。这是一个例子:
from xlsxwriter.workbook import Workbook
# Create an new Excel file and add a worksheet.
workbook = Workbook('images.xlsx')
worksheet = workbook.add_worksheet()
# Widen the first column to make the text clearer.
worksheet.set_column('A:A', 30)
# Insert an image.
worksheet.write('A2', 'Insert an image in a cell:')
worksheet.insert_image('B2', 'python.png')
workbook.close()
输出:
有关详细信息,请参阅relevant section of the docs。
答案 1 :(得分:1)
这 http://xlsxwriter.readthedocs.org/en/latest/example_images.html
如果您需要在一个插页中偏移和缩放图像:
worksheet.insert_image('B5','python.png',{'x_offset':2,'y_offset':2,'x_scale':0.5,'y_scale':0.5})
这让我花了一秒时间才弄明白,认为这可能会让其他人节省一些时间