Notice: Function _load_textdomain_just_in_time was called incorrectly. Translation loading for the wordpress-seo domain was triggered too early. This is usually an indicator for some code in the plugin or theme running too early. Translations should be loaded at the init action or later. Please see Debugging in WordPress for more information. (This message was added in version 6.7.0.) in /var/www/vinascript/html/wp-includes/functions.php on line 6114
Chèn ảnh vào file excel sử dụng Openpyxl trong Python - VinaScript

Latest Post

Triển khai dự án PHP, Mysql với Nginx trên Docker Tìm hiểu về HTML – Ưu điểm, nhược điểm và cách hoạt động của HTML

Thêm hình ảnh vào tệp Excel bằng Python rất đơn giản bằng việc sử dụng thư viện Openpyxl. Đây là một thư viện xuất sắc cho việc xử lý tệp Excel mà mình đang ưa dùng. Bây giờ, mình sẽ hướng dẫn bạn cách thực hiện việc này.

Cài đặt module Openpyxl

Để có thể thêm hình ảnh vào file excel các bạn cần cài đặt 2 module là openpyxl và pillow

pip install openpyxl pillow

Chèn ảnh vào file excel

Tạo 1 file example.py chứa source như sau:

import openpyxl

import thư viện openpyxl

# Load template
workbook = openpyxl.load_workbook('template.xlsx')

Đọc file excel

# Navigate to first sheet
sheet = workbook.worksheets[0]

Chuyển tới sheet đầu tiên để xử lý

# Load image
image = openpyxl.drawing.image.Image('vinasupport_logo.png')
# Set image anchor
image.anchor = 'A1'

Đọc file ảnh và chỉ định vị trí chèn

# Add to workbook sheet
sheet.add_image(image)

Chèn file ảnh vào sheet

# Save to out.xlsx
workbook.save('out.xlsx')

Cuối cùng là lưu lại thành file mới.

Vậy tổng hợp các bước ta có source như sau:

import openpyxl
# Load template
workbook = openpyxl.load_workbook('template.xlsx')
# Navigate to first sheet
sheet = workbook.worksheets[0]
# Load image
image = openpyxl.drawing.image.Image('vinasupport_logo.png')
# Set image anchor
image.anchor = 'A1'
# Add to workbook sheet
sheet.add_image(image)
# Save to out.xlsx
workbook.save('out.xlsx')

Kết quả

Để lại một bình luận

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *