title: 使用py操作execl
date: 2023-08-16 16:33:13
tags:
接单笔记
- 使用python实现execl单元格中嵌入图片
主要使用第三方库openpyxl,能够创建文件并操作。
- 给透明背景的图片添加背景
img = Image.open('logo.png')#这里写logo的路径
# 创建新的带有背景的图像
background_color = (0, 0, 0) # 背景颜色为白色
new_img = Image.new('RGB', img.size, background_color)
new_img.paste(img, (0, 0), img)
# 保存带有背景的图像
new_img.save('image_with_background.jpg')
- execl文件表单元格中嵌入图片
wb = Workbook()
ws = wb.active
# 将图像插入到Excel中
img_excel = ExcelImage('image_with_background.jpg')
img_excel.width = img.width
img_excel.height = img.height
#实现单元格嵌入
img.anchor = 'A1'
ws.add_image(img_excel)
#直接添加到表单中
#ws.add_image(img_excel,"A1")
wb.save("output.xlsx")
- 实现单元格的合并
from openpyxl.utils import get_column_letter
start_column = 开始列
end_column = 结束列
merge_range = f'{get_column_letter(start_column)}1:{get_column_letter(end_column)}1'
ws.merge_cells(merge_range)
- 设置背景及字体
# 设置背景颜色
fill = PatternFill(start_color="0000FF", end_color="0000FF", fill_type="solid")
ws[f'{get_column_letter(start_column)}1'].fill = fill
merged_cell = ws.cell(row=1, column=start_column)
#设置字体
font1 = Font(color=colors.WHITE,bold=True,size=18)
merged_cell.value = "Lotus"
merged_cell.font = font1
merged_cell.alignment = Alignment(horizontal='center', vertical='center')