RPA学习-Python Excel 操作模块 XlsxWriter 之插入图片 worksheet

艺赛旗RPA全面免费下载中
点击下载
http://www.i-search.com.cn/index.html?from=line27

在最近的项目上有遇到一个需求:需要将图片写到 execl 中。这里和大家分享一下。

worksheet.insert_image()
insert_image(row, col, image[, options])
在工作表单元格中插入一张图片。

参数:

row(int) - 单元格所在的行(索引从 0 开始计数)
col(int) - 单元格所在的列(索引从 0 开始计数)
image(string) - 图片文件名(如有需要含路径)
options(dict) - 可选的图片位置,缩放,url 参数
这种方法可用于向工作表插入图片。图片可以是 PNG, JPEG 或者 BMP 格式的:

worksheet.insert_image(‘B2‘, ‘python.png‘)

文件路径可与图片文件名一起指定:

worksheet1.insert_image(‘B10‘, ‘../images/python.png‘)
worksheet2.insert_image(‘B20‘, r‘c:\images\python.png‘)
insert_image() 方法接受字典形式的可选参数来定位和缩放图片。可用的参数和它们的默认值有:

{
‘x_offset‘: 0,
‘y_offset‘: 0,
‘x_scale‘: 1,
‘y_scale‘: 1,
‘url‘: None,
‘tip‘: None,
‘image_data‘: None,
‘positioning‘: None,
}
offset 的值是以像素为单位的:

worksheet1.insert_image(‘B2‘, ‘python.png‘, {‘x_offset‘: 15, ‘y_offset‘: 10‘})
offset 的值可以大于基础单元格的宽度与高度。如果想将两个及以上的图片相对于同一单元格对齐,这有时会很有用。

x_scale 和 y_scale 参数可以用于水平及垂直的缩放图片:

worksheet.insert_image(‘B3‘, ‘python.png‘, {‘x_scale‘: 0.5, ‘y_scale‘: 0.5})

url 参数可以为图片添加超链接 /url,tip 参数为含有超链接的图片提供可选的鼠标悬停时的提示信息:

worksheet.insert_image(‘B4‘, ‘python.png‘, {‘url‘: ‘http://python.org‘})

image_data 参数用于在 io.BytesIO 中添加内存中的字节流:

worksheet.insert_image(‘B5‘, ‘python.png‘, {‘image_data‘: image_data})

这通常用来从 URL 中添加图片:

url = ‘http://python.org/logo.png
image_data = io.BytesIO(urllibs.urlopen(url).read())
worksheet.insert_image(‘B5‘, url, {‘image_data‘: image_data})
当使用 image_data 参数时文件名必须传递到 insert_image() 因为这是 Excel 要求的。在前面的例子中文件名是从 URL 字符串中提取的。

positioning 参数可以用来控制图片对象的位置:

worksheet.insert_image(‘B3‘, ‘python.png‘, {‘positioning‘: 1})
postioning 有以下允许的值:

  1. 移动和调整单元格的大小
  2. 移动但不调整单元格的大小(默认)
  3. 不移动或调整单元格的大小

注意:
如果由于字体大小大于默认字体大小或者打开了文本换行而导致更改了默认行高,则图片的缩放可能会受到影响。
如果它与插入的图像交叉,你应该使用 set_row() 方法明确的设定行高来避免此问题。

BMP 图片只向后兼容。由于 BMP 图片不能压缩,通常情况下最好避免使用 BMP 图片。如果使用 BMP 图片,必须是 24bit、true color、bitmap 的。

实例:向工作表插入图片*
import xlsxwriter

创建一个新Excel文件并添加一个工作表。

workbook = xlsxwriter.Workbook(‘excel插入images.xlsx‘)
worksheet = workbook.add_worksheet()

加宽第一列使文本更清晰。

worksheet.set_column(‘A:A‘, 30)

插入一张图片。

worksheet.write(‘A2‘, ‘向单元格插入一张图片:‘)
worksheet.insert_image(‘B2‘, ‘1.jpg‘,{‘x_scale‘: 2, ‘y_scale‘: 2})

插入一张位偏移图片。

worksheet.write(‘A26‘, ‘插入一张位偏移图片:‘)
worksheet.insert_image(‘B26‘, ‘2.jpg‘, {‘x_offset‘: 5, ‘y_offset‘: 1})

插入一张缩放了的图片。

worksheet.write(‘A50‘, ‘插入一张缩放了的图片:‘)
worksheet.insert_image(‘B50‘, ‘3.jpg‘,{‘x_offset‘: 5, ‘y_offset‘: 1,‘x_scale‘: 0.5, ‘y_scale‘: 0.5})

workbook.close() #保存

原文地址:https://blog.51cto.com/14253212/2386194

时间: 2024-08-05 10:14:49

RPA学习-Python Excel 操作模块 XlsxWriter 之插入图片 worksheet的相关文章

Python学习笔记-数据报表之Excel操作模块

利用Python操作Excel的模块XlsxWriter,可以操作多个工作表的文字.数字.公式.图表等. XlsxWriter模块具有以下功能: 100%兼容的Excel XLSX文件,支持Excel 2003.Excel 2007等版本: 支持所有Excel单元格数据格式: 单元格合并.批注.自动筛选.丰富多格式字符串等: 支持工作表PNG.JPEG图像,自定义图表: 内存优化模式支持写入大文件. 安装XlsxWriter模块 # python3 -m easy_install -i http

数据报表之Excel操作模块

Excel是当今最流行的电子表格处理软件,支持丰富的计算函数及图表,在系统运营方面广泛用于运营数据报表,比如业务质量.资源利用.安全扫描等报表,同时也是应用系统常见的文件导出格式,以便数据使用人员做进一步加工处理.本节主要讲述利用Python操作Excel的模块XlsxWriter(https://xlsxwriter.readthedocs.org),可以操作多个工作表的文字.数字.公式.图表等.XlsxWriter模块具有以下功能: 100%兼容的Excel XLSX文件,支持Excel 2

python excel操作及网络编程

python excel操作 一:excel获取值操作 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表 table = data.sheets()[0]          #通过索引顺序获取 table = data.sheet_by_index(0) #通过索引顺序获取 table = data.sheet_by_name(u'Sheet1')#通过名称获取

python excel操作总结

1.openpyxl包的导入 Dos命令行输入 pip install openpyxl==2.3.3 这里注意一下openpyxl包的版本问题 版本装的太高有很多api不支持了,所以笔者这里用的是2.3.3 验证是否安装成功:python交互模式下导入包 import openpyxl 2.一个简单的在excel中写入数据的操作 #未从文件系统生成真的excel文件,仅仅是实例化了一个Workbook实例 wb = Workbook()#workbook类似一个excel文件 # wb.act

【Python】 更棒的Excel操作模块xlwings

[xlwings] 说到Python操作Excel,有好多模块都可以支持这个工作.比如最底层的win32模块不仅可以操作Excel,还可以操作其他一众windows的软件. 其他的比较熟悉的有xlrd,xlwt和xlutils这三个.分别负责Excel文件的读.写.读写转换工作.虽然一般情况下的Excel操作都可以通过这三个模块来完成,但是还是有很多不便的地方.比如单元格格式的写入和读取很麻烦,通过xlutils将一个Excel读取再写入到一个新文件中时格式也不会被一起复制过去. 另外最近我遇到

c#在Excel指定单元格中插入图片

方法一: /// 将图片插入到指定的单元格位置,并设置图片的宽度和高度./// 注意:图片必须是绝对物理路径/// </summary>/// <param name="RangeName">单元格名称,例如:B4</param>/// <param name="PicturePath">要插入图片的绝对路径.</param>public void InsertPicture(string RangeNam

学习Python的urllib模块

 urllib 模块作为Python 3 处理 URL 的组件集合,如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块,这些现在都是 Python 3 的 urllib 包的一部分,具体如何来体现它们之间的关系 Python 3 的 urllib 模块是一堆可以处理 URL 的组件集合.如果你有 Python 2 的知识,那么你就会注意到 Python 2 中有 urllib 和 urllib2 两个版本的模块.这些现在

python excel操作

python操作excel表格(xlrd/xlwt)转载:http://www.cnblogs.com/zhoujie/p/python18.html 最近遇到一个情景,就是定期生成并发送服务器使用情况报表,按照不同维度统计,涉及python对excel的操作,上网搜罗了一番,大多大同小异,而且不太能满足需求,不过经过一番对源码的"研究"(用此一词让我觉得颇有成就感)之后,基本解决了日常所需.主要记录使用过程的常见问题及解决. python操作excel主要用到xlrd和xlwt这两个

十三、Python Excel操作

最近公司要把Excel导入到mysql数据库,查了几篇博客,这几项是非常有用的,记录下来. 一.安装xlrd模块 到python官网下载http://pypi.python.org/pypi/xlrd模块安装,前提是已经安装了python 环境. 二.使用介绍 1.导入模块 import xlrd 2.打开Excel文件读取数据 data = xlrd.open_workbook('excelFile.xls') 3.使用技巧 获取一个工作表 table = data.sheets()[0]