簡體   English   中英

如何使用python中的xlsx包格式化excel中的特定單元格

[英]how to format specific cells in excel using xlsx package in python

我有一個pandas df,我正在使用xlsx 包進行格式化,目前我可以選擇使用xlsx 格式化整個行或列,但不是特定的單元格,我也想在DF 之間插入幾行。

附上我希望 excel 文件的外觀的圖像。

下面的代碼給了我圖像第一部分的文件。 我需要做一些更多的格式化,比如插入新行並用斜體制作 D13 和 E13。 在此處輸入圖片說明

writer = pd.ExcelWriter('Sample Report Test.xlsx' , engine='xlsxwriter')
df.to_excel(writer , index= False , sheet_name='Sample Report')

workbook = writer.book
worksheet = writer.sheets['Sample Report']

money_fmt = workbook.add_format({'num_format':'$#,##0' ,  'font_name':'Batang' })
font_fmt = workbook.add_format({'font_name':'Batang' , 'bold':True })
tot_fmt = workbook.add_format({'num_format':'$#,##0' ,  'font_name':'Batang' ,  'bold':True })

worksheet.set_column('A:B' , 25 , font_fmt)
worksheet.set_column('C:P' , 15 , money_fmt)
worksheet.set_row(4, None , tot_fmt)
worksheet.set_row(7 , None , tot_fmt)

writer.save()

您可以在 XlsxWriter 文件中插入多個帶有偏移量的數據幀。 請參閱文檔中的此示例

寫入后無法格式化單元格(除了列/行格式,請參閱此示例)。

如果您需要非常細粒度的格式,您最好直接將 XlsxWriter 與數據幀中的數據一起使用。

有些人在 XlsxWriter 中使用條件格式來獲得他們需要的效果,就像這個SO answer 但是,這不適用於單個細胞。

嘗試這個:

money_italic_fmt = workbook.add_format({'num_format':'$#,##0',
                                        'font_name':'Batang',
                                        'italic':True})
worksheet.write(12, # <-- The cell row (zero indexed).
                3,  # <-- The cell column (zero indexed).
                13, # <-- Value to write
                money_italic_fmt  # <-- Format
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM