Hướng dẫn này sẽ chỉ cho bạn cách điều chỉnh các phông chữ Excel bao gồm kích thước, màu sắc, in đậm, v.v. bằng thư viện Python OpenPyXL Python. Chúng tôi sẽ tiếp tục với ví dụ trước để làm cho bảng tính ngân sách hàng tháng của chúng tôi trông đẹp hơn. Kiểm tra hướng dẫn đầu tiên để tìm hiểu cách tạo bảng tính sau bằng Python.openpyxl library. We’ll continue with the previous example to make our monthly budget spreadsheet look prettier. Check out the first tutorial to learn how to create the following spreadsheet using Python.
Thư viện
Để cài đặt thư viện OpenPyXL, hãy nhập dòng sau vào cửa sổ nhắc lệnh:openpyxl library, type the following line in a command prompt window:
pip install openpyxl
Phông chữ Excel và các đối tượng kiểu trong Python
Chúng tôi có thể sử dụng đối tượng phông chữ của OpenPyXL để tùy chỉnh phông chữ cho các tệp Excel của chúng tôi. Hãy để nhập khẩu đó trước. Như dòng nhập khẩu gợi ý, đối tượng phông chữ nằm trong một lớp cha được gọi là Styles.openpyxl‘s Font object to customize fonts for our Excel files. Let’s import that first. As the import line hints, the Font object is under a parent class called styles.
Các kiểu được sử dụng để thay đổi giao diện của bảng tính, bao gồm phông chữ, màu sắc, đường viền, căn chỉnh, v.v. Chúng tôi sẽ tập trung vào các phông chữ trong hướng dẫn này và chúng tôi sẽ bao gồm các kiểu khác [tức là định dạng] trong các hướng dẫn sau.
from openpyxl.styles import Font
Thay đổi phông chữ
Hãy để Lừa làm cho tiêu đề bảng tính lớn hơn và thay đổi màu phông chữ của nó. Chúng ta có thể tùy chỉnh phông chữ bằng đối tượng phông chữ. Các đối số bên trong phông chữ [] trong mã dưới đây sẽ hiển thị cho bạn tất cả các yếu tố chúng ta có thể thay đổi cho một phông chữ trong excel.Font object. The arguments inside the Font[] in the below code should show you all the elements we can change for a font in Excel.
Ngoài ra, ws.column_diments.width được sử dụng để thay đổi chiều rộng ô.ws.column_dimentions.width is used to change the cell width.
ws['B2'].font = Font[name= 'Calibri',
size=40,
bold=True,
italic=False,
strike=False,
underline='none',
color='4472C4'
]
for c in 'BCDEF':
ws.column_dimensions[c].width = 15
Khi một phông chữ di động được đặt, chúng ta có thể thay đổi các yếu tố riêng lẻ. Hãy thử thay đổi màu văn bản thành màu đỏ [FF000000] theo sau WS [‘B2,]. Phông chữ = Phông chữ [Tiết]. Nó sẽ cung cấp một thuộc tính horror:ws[‘B2’].font = Font[…] assignment. It will give an AttributeError:
ws['B2'].font.color = 'FF0000'
AttributeError: Style objects are immutable and cannot be changed.Reassign the style with a copy
Nếu chúng ta muốn thay đổi bất kỳ yếu tố nào của đối tượng phông chữ được xác định trước, chúng ta cần xây dựng lại một đối tượng mới và gán lại nó cho ô mà chúng ta muốn thay đổi. Dưới đây sẽ hoạt động tốt:
ws['B2'].font = Font[name= 'Calibri',
size=40,
bold=True,
italic=False,
strike=False,
underline='none',
color='FF0000'
]
Khi một phông chữ di động được đặt, chúng ta có thể thay đổi các yếu tố riêng lẻ. Hãy thử thay đổi màu văn bản thành màu đỏ [FF000000] theo sau WS [‘B2,]. Phông chữ = Phông chữ [Tiết]. Nó sẽ cung cấp một thuộc tính horror:
Nếu chúng ta muốn thay đổi bất kỳ yếu tố nào của đối tượng phông chữ được xác định trước, chúng ta cần xây dựng lại một đối tượng mới và gán lại nó cho ô mà chúng ta muốn thay đổi. Dưới đây sẽ hoạt động tốt:copy library to copy fonts.
from copy import copy
ws['B7'].font = Font[bold=True, size = 14]
ws['B14'].font = copy[ws['B7'].font]
ws['B11'].font = copy[ws['B7'].font]
ws['B19'].font = copy[ws['B7'].font]
for r in range[7,14,2]:
ws[f'E{r}'].font = copy[ws['B7'].font]
Sao chép phông chữ
Sao chép phông chữ hoạt động giống như bàn chải định dạng của người Viking trong Excel. Chúng ta có thể sao chép phông chữ và các kiểu khác của một ô nhất định, sau đó áp dụng chúng cho các ô khác. Lưu ý Chúng tôi cần nhập thư viện sao chép để sao chép phông chữ.
Tài nguyên bổ sung
Cách sử dụng Python để đọc Công thức Excel
Cách làm việc với phạm vi Excel có tên trong Python