3

我可以使用以下代码在 python 中使用模块insert_bitmap命令插入 bmp 图像:xlwt

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 的工作表中?

4

2 回答 2

7

从代码来看,xlwt 似乎只支持 24 位位图图像。

XlsxWriter Python模块可以插入 PNG 图像(或 JPEG 或位图)。这是一个例子:

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()

输出:

XlsxWriter 图像示例

有关详细信息,请参阅文档的相关部分

于 2013-04-10T10:08:20.627 回答
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})

这花了我一秒钟才弄清楚,认为这可能会节省其他人一些时间

于 2014-12-05T16:17:33.350 回答