本文介绍: 以上代码会将指定目录下所有的.jpg或.png文件存储到Excel单元格中,并将单元格大小调整为适应图片大小。需要注意的是,如果目录下有其他类型的文件,程序会抛出异常并停止运行。可以根据实际情况调整程序逻辑和异常处理方式。以下是一个示例程序,可以实现将指定目录下的所有图片存储到Excel单元格内。注意需要安装openpyxl库和Pillow库。
示例代码1
https://blog.csdn.net/wuyoudeyuer/article/details/128185284
# -*- coding: utf-8 -*-
# @Time : 2022-12-05
# @Author : Carl_DJ
'''
实现功能:
在excel中,对应的名称后面,插入图片
'''
import openpyxl,PIL
from openpyxl.drawing.image import Image
import os
#excel文件路径
excel_path = './pic/image.xlsx'
#图片名称为A列
img_name_column = 'A'
#图片写入B列
img_column = 'B'
#读取图片的地址
img_path = './data/picture'
#转换图片格式,强制转换成jpg格式
# img_type = PIL.Image.open(img_path).convert("RGB")
# img_type.save(img_path, 'jpeg')
#打开excel文件
wb = openpyxl.load_workbook(excel_path)
#获取sheet页
ws = wb.active
for i, v in enumerate(ws[img_name_column], start=1):
#图片路径
img_file_path = os.path.join(img_path, f"{v.value}.jpg")
#获取图片
img = Image(img_file_path)
#设置图片的大小
img.width, img.height = (110, 110)
# 设置表格的宽20和高85
ws.column_dimensions[img_column].width = 20
ws.row_dimensions[i].height = 85
# 图片插入名称对应单元格
ws.add_image(img, anchor=img_column + str(i))
#保存
wb.save(excel_path) # 保存
#关闭
wb.close()
print(f'保存完成')
示例代码2
以下是一个示例程序,可以实现将指定目录下的所有图片存储到Excel单元格内。注意需要安装openpyxl库和Pillow库。
import os
from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.drawing.image import Image
# 设定目录和Excel工作簿名称
directory = "path/to/images/"
workbook_name = "images.xlsx"
# 创建新工作簿
wb = Workbook()
sheet = wb.active
# 遍历目录下的所有图片文件
for i, filename in enumerate(os.listdir(directory)):
if filename.endswith(".jpg") or filename.endswith(".png"):
# 打开图片并将其存储到Excel单元格中
img = Image(directory + filename)
sheet.add_image(img, f'A{i + 1}')
# 调整单元格大小以适应图片
for column_cells in sheet.columns:
length = max(len(str(cell.value)) for cell in column_cells)
sheet.column_dimensions[get_column_letter(column_cells[0].column)].width = length
# 保存工作簿
wb.save(workbook_name)
以上代码会将指定目录下所有的.jpg或.png文件存储到Excel单元格中,并将单元格大小调整为适应图片大小。需要注意的是,如果目录下有其他类型的文件,程序会抛出异常并停止运行。可以根据实际情况调整程序逻辑和异常处理方式。
原文地址:https://blog.csdn.net/qq_39506862/article/details/134562494
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若转载,请注明出处:http://www.7code.cn/show_5907.html
如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱:suwngjj01@126.com进行投诉反馈,一经查实,立即删除!
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。