首页 > 编程语言 >PYTHON将图片插入到excel

PYTHON将图片插入到excel

时间:2023-02-20 18:34:37浏览次数:34  
标签:PYTHON image excel write 插入 book ws import data

一、案例1:insert_image

import xlsxwriter
book = xlsxwriter.Workbook('E:\\test.xlsx')
sheet = book.add_worksheet('demo')
sheet.insert_image('D4','E:\\001.jpg')
book.close()

在这里插入图片描述

二、案例2:

import xlsxwriter
import pymysql.cursors

connect = pymysql.Connect(
    host='localhost',
    port=3306,
    user='root',
    passwd='admin123',
    db='enterprise',
    charset='utf8'
)

try:
    wb = xlsxwriter.Workbook('enterprise_6.xlsx')
    ws = wb.add_worksheet('企业信息')

    header = ['ID', '名称', '电话(图片)', '电话', '联系人', '邮箱', '网址', '地址']

    for index, h in enumerate(header):
        ws.write(0, index, h)

    with connect.cursor() as cursor:
        sql = 'select `id`,`name`,`phone_pic`,`phone`,`linkman`,`email`,`weburl`,`address` from `ep_company_info` where `id`<=12000 and `id`>10000'
        data = cursor.execute(sql)
        data_ = cursor.fetchall()
        j = 1
        for i, v in enumerate(data_):
            ws.write(j, 0, v[0])
            ws.write(j, 1, v[1])

            if v[2] == '':
                ws.write(j, 2, v[2])
            else:
                ws.insert_image(j, 2, './company/' + str(v[2]))
            ws.write(j, 3, v[3])
            ws.write(j, 4, v[4])
            ws.write(j, 5, v[5])
            # 网址
            ws.write_url(j, 6, v[6])
            ws.write(j, 7, v[7])
            j += 1  
finally:
    wb.close()
    print('完成')

在这里插入图片描述

import io
import xlsxwriter
from PIL import Image
 
im = Image.open('1.jpeg')
(x, y) = im.size  # read image size
x = round(x / 1.14974)  # 人为修正拉伸
y = round(y / 0.97516)
out = im.resize((x, y), Image.ANTIALIAS)  # resize image with high-quality
image_data = io.BytesIO()
out.save(image_data, 'png')
book = xlsxwriter.Workbook('pict.xlsx')
sheet = book.add_worksheet('demo')
sheet.insert_image('D4', '1.jpeg',{'image_data': image_data})
book.close()
代码无问题:将代码插入到excel指定位置,并且可以设置图片尺寸

def btn_excl_method(self):
    """导出excel入口函数"""
    wiz_obj = self.env['talent.export.export.data.wizard']
    filename = '导出图片'
    import xlsxwriter
    from PIL import Image
    output = io.BytesIO()
    book = xlsxwriter.Workbook(output)
    sheet = book.add_worksheet('TEST')
    buf_image = io.BytesIO(base64.b64decode(self.image_1920))
    sheet.write('A1', self.name)
    sheet.insert_image('D1', "001.jpg", {'image_data': buf_image, 'x_scale': 0.5, 'y_scale': 0.5, 'positioning': 5})
    book.close()
    wiz_id = wiz_obj.sudo().create({
        'file_data': base64.encodebytes(output.getvalue())
    })
    value = dict(
        type='ir.actions.act_url',
        target='self',
        url='/web/content?model=%s&id=%s&field=file_data&download=true&filename=%s.xlsx' % (
            'talent.export.export.data.wizard', wiz_id.id, filename),
    )
    return value

标签:PYTHON,image,excel,write,插入,book,ws,import,data
From: https://www.cnblogs.com/DTCLOUD/p/17138472.html

相关文章

  • python如何读取excel表数据
    @目录python读取excel表数据的方法:完整的程序代码python读取excel表数据的方法:首先安装Excel读取数据的库xlrd;然后获取Excel文件的位置并且读取进来;接着读取指定的行和列......
  • POI如何读取树形结构的excel文件?并产生树形结构
    主要代码importjava.io.File;importjava.io.IOException;importorg.apache.poi.openxml4j.exceptions.InvalidFormatException;importorg.apache.poi.ss.usermo......
  • python 装饰器示例
    1defwrapper_log(func):2"""3无参装饰器,也可以写成有参装饰器,True或Flase标记是否调用日志模块4功能一:执行失败,打印并记录错误日志信息,定位bug......
  • python--matplotlib(2)
    前言 Matplotlib画图工具的官网地址是http://matplotlib.org/Python环境下实现Matlab制图功能的第三方库,需要numpy库的支持,支持用户方便设计出二维、三维数据的图形显示,制......
  • python之路73 vue框架 vue-cli创建项目、vue项目目录介绍、es6导入导出语法、登录功
    vue-cli创建项目前端做成项目---》使用工具(vue-cli),创建vue项目,单页面应用(spa),组件开发,把xx.vue,ts,saas,less---》编译---》在浏览器中执行vue-cli创建项目开发,在项......
  • python 获取b站 个人关注列表用户信息
    前言本程序是get_bili_medal_list项目的一个子程序,用于获取个人关注列表用户信息。整体很简单,没啥东西,主要是辅助作用。数据获取完毕后,存储于data/follows.json(提前......
  • python爬虫学习——文件操作,异常处理
    文件操作'''f=open("a.txt","w")#打开一个文件,w模式(写),如果文件不存在就在当前目录下创建f.write("helloworld,iamhere")#将字符串写入文件中f.cl......
  • python 实现 短信登录 b站 并打印cookie内容
    前言本程序是get_bili_medal_list项目的一个子程序,用于大批量获取用户数据时的cookie替换。使用项目根目录运行pythonlogin_get_cookie.py,根据提示完成短信验证登录。......
  • java导出各种样式的Excel表格
    //定义一个新的工作簿XSSFWorkbookwb=newXSSFWorkbook();//创建一个Sheet页XSSFSheetsheet=wb.createSheet(title);//设置行......
  • Python之装饰器的使用
    1.装饰器的使用场景函数执行时间的统计输出日志信息2.装饰器实现已有函数执行时间的统计importtime#装饰器函数defget_time(func):definner():begin=ti......