Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Tôi đang sử dụng Python phiên bản 3.6 và phiên bản mới nhất của mô -đun OpenXLPy (v2.4.8) trên Windows.

Tôi muốn thay đổi một số phông chữ nhất định thành in đậm trong một ô, nhưng tôi không muốn tất cả các văn bản có trong ô được in đậm. Nói tóm lại, tôi đang lưu dữ liệu vào một sổ làm việc excel mới mà tôi đã tạo bằng OpenXLPy. Tôi đang lưu nhiều dòng dữ liệu trong một ô. Tôi chỉ muốn dòng đầu tiên của mỗi ô được in đậm.

Tôi đã tìm kiếm ở mọi nơi trong tài liệu OpenPyXL và trực tuyến nhưng tôi không thể tìm thấy bất cứ điều gì. Có vẻ như bạn chỉ có thể áp dụng kiểu chữ cho toàn bộ ô mà dường như không đúng. Trong Microsoft Excel, bạn có thể áp dụng các kiểu phông chữ khác nhau cho các dữ liệu khác nhau trong một ô.

Tóm lại, tôi chỉ muốn in đậm một số văn bản trong một ô và không in đậm toàn bộ nội dung của ô.

Hỏi ngày 11 tháng 9 năm 2017 lúc 18:25Sep 11, 2017 at 18:25

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Probatprobatprobat

1.3123 Huy hiệu vàng13 Huy hiệu bạc33 Huy hiệu đồng3 gold badges13 silver badges33 bronze badges

3

Câu trả lời bài viết bài nhưng không phải là câu hỏi cụ thể của OPS.

from openpyxl.workbook import Workbook
from openpyxl.styles import Font
wb = Workbook()
ws = wb.active
ws['B3'] = "Hello"
ws['B3'].font = Font(bold=True)
wb.save("BoldDemo.xlsx")

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Đã trả lời ngày 22 tháng 4 năm 2018 lúc 9:43Apr 22, 2018 at 9:43

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Flywireflywireflywire

9611 Huy hiệu vàng10 Huy hiệu bạc33 Huy hiệu đồng1 gold badge10 silver badges33 bronze badges

2

Tôi không nghĩ OpenPyXL đã thực hiện bất kỳ xử lý nào cho sự khác biệt về phong cách nội bộ. Nếu bạn lấy một tệp có nhiều kiểu trong một ô, hãy nhập nó vào OpenPyXL và lưu tệp mới, mà không cần thay đổi ô, tệp mới sẽ mất định dạng.

>>>import openpyxl
>>>path = 'test.xlsx'
>>>book = openpyxl.load_workbook(path)
>>>book.active['a1']
>>>book.active['a1'].value
'not bold line\nbold line\nnot bold line\n'
>>>print(_)
not bold line
bold line
not bold line

>>>book.save(path)

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Từ đây bạn có một vài lựa chọn.

  1. Sử dụng LIB khác để xử lý XLSX. Tôi sẽ không nói về việc sử dụng các thư viện thay thế vì tôi cho rằng bạn đang sử dụng OpenPyXL vì một lý do.

  2. Tạo Markdown của riêng bạn và sử dụng tập lệnh tùy chỉnh để thêm định dạng sau khi chỉnh sửa và lưu tệp bằng openpyxl. Bạn có thể tìm thấy thông số kỹ thuật cho các định dạng tệp XML Office Open tại đây. Đây cũng là một bài viết tuyệt vời về phân tích các tệp XLSX và XML.

  3. Chỉnh sửa cơ sở mã cho openpyxl.

  4. Nếu các bước trên không thể đạt được/mong muốn, hãy thử liên hệ với người bảo trì OpenPyXL hoặc trợ giúp thuê:/

Đã trả lời ngày 16 tháng 4 năm 2020 lúc 13:38Apr 16, 2020 at 13:38

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

1

Trong phần trước, chúng tôi đã tạo một bảng tính đơn giản bằng cách sử dụng mô -đun Python và XLSXWriter.

Điều này đã chuyển đổi dữ liệu cần thiết thành một tệp excel nhưng nó trông hơi trần. Để làm cho thông tin rõ ràng hơn, chúng tôi muốn thêm một số định dạng đơn giản, như sau:

Hướng dẫn how do i make text bold in excel using python? - làm cách nào để in đậm văn bản trong excel bằng python?

Sự khác biệt ở đây là chúng tôi đã thêm các tiêu đề cột và chi phí trong một phông chữ in đậm, chúng tôi đã định dạng tiền tệ trong cột thứ hai và chúng tôi đã tạo ra tổng số chuỗi đậm.Item and Cost column headers in a bold font, we have formatted the currency in the second column and we have made the Total string bold.

Để làm điều này, chúng tôi có thể mở rộng chương trình của mình như sau:

(Những thay đổi đáng kể được hiển thị với một đường màu đỏ.)

 import xlsxwriter

 # Create a workbook and add a worksheet.
 workbook = xlsxwriter.Workbook('Expenses02.xlsx')
 worksheet = workbook.add_worksheet()

 # Add a bold format to use to highlight cells.
 bold = workbook.add_format({'bold': True})

 # Add a number format for cells with money.
 money = workbook.add_format({'num_format': '$#,##0'})

 # Write some data headers.
 worksheet.write('A1', 'Item', bold)
 worksheet.write('B1', 'Cost', bold)

 # Some data we want to write to the worksheet.
 expenses = (
     ['Rent', 1000],
     ['Gas',   100],
     ['Food',  300],
     ['Gym',    50],
 )

 # Start from the first cell below the headers.
 row = 1
 col = 0

 # Iterate over the data and write it out row by row.
 for item, cost in (expenses):
     worksheet.write(row, col,     item)
     worksheet.write(row, col + 1, cost, money)
     row += 1

 # Write a total using a formula.
 worksheet.write(row, 0, 'Total',       bold)
 worksheet.write(row, 1, '=SUM(B2:B5)', money)

 workbook.close()

Sự khác biệt chính giữa chương trình này và chương trình trước đó là chúng tôi đã thêm hai đối tượng định dạng mà chúng tôi có thể sử dụng để định dạng các ô trong bảng tính.Format objects that we can use to format cells in the spreadsheet.

Các đối tượng định dạng đại diện cho tất cả các thuộc tính định dạng có thể được áp dụng cho một ô trong Excel như phông chữ, định dạng số, màu sắc và đường viền. Điều này được giải thích chi tiết hơn trong phần lớp định dạng.The Format Class section.

Bây giờ chúng tôi sẽ tránh đi vào các chi tiết và chỉ sử dụng một lượng hạn chế của chức năng định dạng để thêm một số định dạng đơn giản:

# Add a bold format to use to highlight cells.
bold = workbook.add_format({'bold': True})

# Add a number format for cells with money.
money = workbook.add_format({'num_format': '$#,##0'})

Sau đó, chúng ta có thể chuyển các định dạng này dưới dạng tham số thứ ba tùy chọn cho bảng tính .________ 7 Phương thức để định dạng dữ liệu trong ô:worksheet.write() method to format the data in the cell:

write(row, column, token, [format])

Như thế này:

worksheet.write(row, 0, 'Total', bold)

Điều này dẫn chúng ta đến một tính năng mới khác trong chương trình này. Để thêm các tiêu đề vào hàng đầu tiên của bảng tính, chúng tôi đã sử dụng write() như thế này:

worksheet.write('A1', 'Item', bold)
worksheet.write('B1', 'Cost', bold)

Vì vậy, thay vì (row, col), chúng tôi đã sử dụng ký hiệu kiểu

>>>import openpyxl
>>>path = 'test.xlsx'
>>>book = openpyxl.load_workbook(path)
>>>book.active['a1']
>>>book.active['a1'].value
'not bold line\nbold line\nnot bold line\n'
>>>print(_)
not bold line
bold line
not bold line

>>>book.save(path)
0 Excel. Xem làm việc với ký hiệu ô để biết thêm chi tiết nhưng bây giờ don quá quan tâm đến nó. Nó chỉ là một chút đường cú pháp để giúp đặt ra bảng tính.Working with Cell Notation for more details but don’t be too concerned about it for now. It is just a little syntactic sugar to help with laying out worksheets.

Trong phần tiếp theo, chúng tôi sẽ xem xét xử lý nhiều loại dữ liệu hơn.