如何用代码在excel插入图片

描述

01 准备

通常python读取excel有两个包,xlsxwriter和openpyxl,论单元格单独处理,openpyxl要方便一些,论sheet的整体编辑,插入图片,xlsxwriter能力要强一些,这里主要用xlsxwriter插入图片。

1、安装

pip install xlsxwriter

2、加载

先按路径加载完整的excel, xlsxwriter.Workbook(xlsx_path),新加一个sheet页demo3,赋值给sheet。值得注意的是,xlsxwriter主要针对新建的excel,对于要追加到已经有的图表中,不太合适,虽然于2016年5月13日添加了get_worksheet_by_name方法,但是只能获取通过book.add_worksheet添加的sheet,原有的sheet读取不到,所以需要用xlrd或openpyxl重新读取这个excel,再追加内容。

        book = xlsxwriter.Workbook(xlsx_path)

        sheet = book.add_worksheet('demo3')        

02 插入图片

1、调整单元格大小 为了合图片与excel单元格更贴合,要按图片大小调整单元格大小,set_row(row=1, height=128)调整行高,row从0开始算起。set_column(firstcol=1, lastcol=1, width=128)调整列宽,firstcol第第一列,从0开始算起,firstcol=1表示B列,这里对B2单元格进行调整。高度和宽度的单位不一样,但是与excel中的值是大体一致的。

 

      # 调整行高,但是高度单位与windows的是不一样的

    sheet.set_row(row=1, height=128)

    sheet.set_column(firstcol=1, lastcol=1, width=128)

2、插入图片 传入文件路径,sheet.insert_image()将图片插入excel,options中可以传入一系列参数,如横向偏移x_offset,纵向偏移y_offset,横向缩放x_scale,纵向缩放y_scale,通常默认为图片左上角与单元格左上角重合,且不做缩放。

 options={"x_scale":1,"y_scale":1}

    sheet.insert_image(insert_location, filename=image_path, options=options)

    

3、保存 插入图片可以多次操作,也可以按之前介绍的修改单元格格式,操作完成后,需要通过book.close()保存到文件。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分