Berbagi teknologi

Python menyisipkan, mengganti, mengekstrak, atau menghapus gambar di Excel

2024-07-08

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

Excel adalah alat yang terutama digunakan untuk mengolah tabel dan data. Kita juga dapat menyisipkan, mengedit, atau mengelola gambar di dalamnya untuk menambahkan efek visual pada lembar kerja dan meningkatkan daya tarik laporan. Artikel ini akan memperkenalkan secara detail cara menggunakan Python untuk mengoperasikan gambar di Excel, termasuk 4 contoh dasar berikut:

Pertama, Anda perlu menginstal perpustakaan Python pihak ketiga - Spire.XLS untuk Python . Anda dapat mengunduh produk dan menginstalnya dari jalur lokal, atau Anda dapat langsung menggunakan perintah pip berikut untuk menginstalnya:

pip install Spire.XLS

Python menyisipkan gambar di Excel

Kita dapat menggunakan perpustakaan Spire.XLS untuk Python untuk menyisipkan gambar ke dalam sel tertentu dan mengatur ukuran gambar, dll. Berikut cara melakukannya:

  1. Buat buku kerjaWorkbookMenolak dan memperoleh lembar kerja yang ditentukan;
  2. menggunakanWorksheet.Pictures.Add(int topRow, int leftColumn, Image image)Metode untuk menyisipkan gambar ke dalam sel tertentu pada lembar kerja;
  3. lulusExcelPictureSetiap atribut di bawah kelas menetapkan lebar, tinggi, jarak dari batas sel, dll. dari gambar;
  4. menggunakanSaveToFile()Metode untuk menyimpan file Excel.

Kode sampel:

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()

Gambar Python Excel

Python menggantikan gambar di Excel

Untuk mengganti gambar asli di Excel dengan gambar baru, Anda bisa simak langkah-langkahnya berikut ini:

  1. Muat file Excel dan dapatkan lembar kerja yang ditentukan;
  2. lulusWorksheet.Pictures[]Atribut mendapatkan gambaran yang ditentukan;
  3. Muat gambar baru dan lulusExcelPicture.PictureProperti menggantikan gambar tertentu dengan gambar baru;
  4. menggunakanSaveToFile()Metode untuk menyimpan file Excel.

Kode sampel:

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 menggantikan gambar Excel

Python mengekstrak gambar dari Excel

Pustaka Spire.XLS untuk Python juga dapat membaca gambar dalam dokumen Excel dan menyimpannya ke jalur file yang ditentukan. Lanjutkan sebagai berikut:

  1. Muat file Excel dan dapatkan lembar kerja yang ditentukan;
  2. Ulangi semua gambar di lembar kerja;
  3. transferExcelPicture.Picture.Save()Metode untuk mengekstrak gambar dari Excel.

Kode sampel:

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 membaca gambar Excel

Python menghapus gambar di Excel

Worksheet.Pictures[imgIndex].Remove() Metode ini memungkinkan kita untuk menghapus gambar yang ditentukan berdasarkan indeks. Untuk menghapus semua gambar di Excel, Anda bisa mengulang setiap gambar dan menghapusnya. Contoh kodenya adalah sebagai berikut:

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 menghapus gambar Excel

Contoh di atas dapat membantu Anda menguasai keterampilan menggunakan Python untuk menyisipkan, mengganti, dan menghapus gambar di Excel, dan melakukan beberapa pengaturan gambar dasar.Jika Anda memiliki pertanyaan, Anda dapat mengunjunginyaforumberkomunikasi.