技術共有

Python で Excel で画像を挿入、置換、抽出、または削除する

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

Excel は主にテーブルやデータの処理に使用されるツールであり、ワークシートに視覚効果を追加してレポートの魅力を高めるために、画像を挿入、編集、管理することもできます。この記事では、Python を使用して Excel で画像を操作する方法を、次の 4 つの基本的な例を含めて詳しく紹介します。

まず、サードパーティの Python ライブラリをインストールする必要があります - Python 用 Spire.XLS 。製品をダウンロードしてローカル パスからインストールすることも、次の pip コマンドを直接使用してインストールすることもできます。

pip install Spire.XLS

PythonがExcelに画像を挿入する

Python ライブラリの Spire.XLS を使用して、指定したセルに画像を挿入したり、画像サイズなどを設定したりできます。その方法は次のとおりです。

  1. ワークブックの作成Workbookオブジェクトを取得し、指定されたワークシートを取得します。
  2. 使用Worksheet.Pictures.Add(int topRow, int leftColumn, Image image)ワークシートの指定されたセルに画像を挿入するメソッド。
  3. 合格ExcelPictureクラスの下の各属性は、画像の幅、高さ、セル境界からの距離などを設定します。
  4. 使用SaveToFile()Excelファイルを保存する方法です。

サンプルコード:

from spire.xls import *
from spire.xls.common import *
     
# 创建Workbook对象
workbook = Workbook()

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 在指定单元格中插入图片(此处为第一行第二列,即B1单元格)
picture = sheet.Pictures.Add(1, 2, "示例.png")

# 设置图片宽高度
picture.Width = 120
picture.Height = 120

# 调整图片所在位置的列宽和行高
sheet.Columns[1].ColumnWidth = 20
sheet.Rows[0].RowHeight = 110

# 设置单元格边框与图片之间的距离
picture.LeftColumnOffset = 90
picture.TopRowOffset = 20

# 保存文件
workbook.SaveToFile("插入图片.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python Excelの画像

Python で Excel の画像を置き換える

Excel の元の画像を新しい画像に置き換えるには、次の手順を参照してください。

  1. Excel ファイルをロードし、指定されたワークシートを取得します。
  2. 合格Worksheet.Pictures[]属性は指定された画像を取得します。
  3. 新しい画像をロードして渡すExcelPicture.Pictureプロパティは、指定された画像を新しい画像に置き換えます。
  4. 使用SaveToFile()Excelファイルを保存する方法です。

サンプルコード:

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile ("插入图片.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 获取工作表中第一张图片
excelPicture = sheet.Pictures[0]
            
# 替换图片
excelPicture.Picture = Image.FromFile("pic.jpg")

# 保存文档
workbook.SaveToFile("替换图片.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

Python が Excel の画像を置き換える

PythonはExcelから画像を抽出します

Spire.XLS for Python ライブラリでは、Excel ドキュメント内の画像を読み取り、指定したファイル パスに保存することもできます。次のように進めます。

  1. Excel ファイルをロードし、指定されたワークシートを取得します。
  2. ワークシート内のすべての画像を繰り返し処理します。
  3. 移行ExcelPicture.Picture.Save()Excelから画像を抽出する方法。

サンプルコード:

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile("图标.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 获取工作表中所有图片
for i in range(sheet.Pictures.Count - 1, -1, -1):
    pic = sheet.Pictures[i]

    # 保存图片
    pic.Picture.Save("提取图片\图片-{0:d}.png".format(i), ImageFormat.get_Png())

workbook.Dispose()

Python は Excel の画像を読み取ります

PythonはExcelで写真を削除します

Worksheet.Pictures[imgIndex].Remove() このメソッドを使用すると、指定した画像をインデックスによって削除できます。 Excel ですべての画像を削除するには、各画像をループして削除します。サンプルコードは次のとおりです。

from spire.xls import *
from spire.xls.common import *

# 加载Excel文档
workbook = Workbook()
workbook.LoadFromFile("图标.xlsx")

# 获取第一张工作表
sheet = workbook.Worksheets[0]

# 删除工作表中所有图片
for i in range(sheet.Pictures.Count - 1, -1, -1):
    sheet.Pictures[i].Remove()

# 删除指定图片
# sheet.Pictures[imgIndex].Remove()

# 保存文档
workbook.SaveToFile("删除图片.xlsx", ExcelVersion.Version2013)
workbook.Dispose()

PythonでExcelの画像を削除する

上記の例は、Python を使用して Excel で画像を挿入、置換、削除し、基本的な画像設定を実行するスキルを習得するのに役立ちます。ご質問がある場合は、こちらにアクセスしてくださいフォーラムコミュニケーションする。