📜  Openpyxl - 添加图像

📅  最后修改于: 2022-05-13 01:54:26.916000             🧑  作者: Mango

Openpyxl - 添加图像

Openpyxl 是一个Python库,用于处理在 Microsoft Excel 的不同变体中创建的格式 (xlsx/xlsm/xltx/xltm) 的 Excel 文档。该库的起源是由于缺少从Python本地读取/写入 Office Open XML 格式的本地库。

Openpyxl 为Python提供了数据集处理能力,并允许创建不同类型的数据库文件。该库提供的一项明显功能是允许用户在工作表(工作表)的单元格内定义图像。这为在我们的工作表中合并可视数据打开了空间,从而获得更全面和明确的结果。

要安装openpyxl库,请在命令行中执行以下命令:

pip install openpyxl

为了在工作表中导入图像,我们将使用openpyxl库中名为openpyxl.drawing.image.Image的方法。该方法是 PIL( pillow )库中的PIL.Image方法的包装器。因此,必须安装 PIL( pillow )库才能使用此方法。

测试图像(test.png):
测试图像

下面是实现——

Python3
import openpyxl 
  
# It is not required for one to create a workbook on 
# filesystem, therefore creating a virtual workbook 
wrkb = openpyxl.Workbook()
  
# Number of sheets in the workbook (1 sheet in our case)
ws = wrkb.worksheets[0]
  
# Adding a row of data to the worksheet (used to
# distinguish previous excel data from the image)
ws.append([10, 2010, "Geeks", 4, "life"])
  
# A wrapper over PIL.Image, used to provide image
# inclusion properties to openpyxl library
img = openpyxl.drawing.image.Image('test.png')
  
# The Coordinates where the image would be pasted
# (an image could span several rows and columns
# depending on it's size)
img.anchor = 'A2'
  
# Adding the image to the worksheet
# (with attributes like position)
ws.add_image(img)
  
# Saving the workbook created under the name of out.xlsx
wb.save('out.xlsx')


输出(out.xlsx):-
输出截图


解释

上面的代码首先创建了一个工作簿,并保存在变量wrkb (工作簿的缩写)中。 wrkb.worksheet[0]指定书中工作表的列表。由于我们只需要一张纸,我们将0指定为参数。 ws.append()用于将数据添加到我们的工作表中。在我们的例子中,我们将一行数据10, 2010, "Geeks", 4, "life"添加到我们的工作表中。 openpyxl.drawing.image.Image('test.png')指定要添加到工作表中的图像的路径(在我们的例子中是test.png )。 img.anchor = 'A2'用于指定要粘贴/添加图像的坐标。
默认情况下,图像将从单元格 A1(锚点 A1)或我们工作簿的第一个单元格中添加。这个位置可以通过在img.anchor属性中指定一个单元格坐标来改变。 ws.add_image()在工作表中添加图像。这是一种用于完成我们想要的图像更改的方法。所有其他属性,如锚点,将在此函数之前提供。 wrkb.save()用于保存我们的工作表。需要路径(相对/绝对)作为参数,以及路径中包含的任何扩展名(如果未明确提供)。