翻譯|行業(yè)資訊|編輯:吉煒煒|2025-09-17 10:52:06.013|閱讀 69 次
概述:與在 Excel 中手動調(diào)整樣式相比,使用 Python 進行 Excel 格式設(shè)置 并自動化操作,能夠幫助我們節(jié)省寶貴的時間。本文將演示如何借助 Spire.XLS for Python 通過 Python 設(shè)置 Excel 樣式。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關(guān)鏈接:
在處理電子表格時,數(shù)據(jù)本身固然重要,但可讀性同樣關(guān)鍵。一個擁有優(yōu)秀格式設(shè)置的 Excel 文件不僅更易于分析,還能方便展示和分享。與在 Excel 中手動調(diào)整樣式相比,使用 Python 進行 Excel 格式設(shè)置 并自動化操作,能夠幫助我們節(jié)省寶貴的時間。
本文將演示如何借助 Spire.XLS for Python 通過 Python 設(shè)置 Excel 樣式。我們會講解基礎(chǔ)樣式、進階格式設(shè)置和實際應(yīng)用場景,同時介紹實現(xiàn) Python 進行 Excel 格式設(shè)置的核心類和屬性。
獲取更多信息請咨詢 ;技術(shù)交流Q群(125237868)
手動格式化 Excel 十分耗時,尤其是在處理大數(shù)據(jù)或動態(tài)生成報表時。借助 Python Excel 格式設(shè)置,你可以:
利用 Python,你可以快速編寫腳本,為 Excel 表格應(yīng)用專業(yè)的樣式。接下來我們先來配置環(huán)境。
學習本教程前,需要先 安裝 Spire.XLS for Python,這是一個專門用于處理 Excel 文件的庫,支持創(chuàng)建、讀取、修改和格式化 Excel 文檔。
通過 pip 安裝:
pip install Spire.XLS在 Python 腳本中導入:
from spire.xls import *
在開始格式化之前,需要準備一個工作簿。
新建工作簿:
workbook = Workbook() sheet = workbook.Worksheets[0]或加載已有文件:
workbook = Workbook() workbook.LoadFromFile("輸入文件.xlsx") sheet = workbook.Worksheets[0]格式化完成后,保存結(jié)果:
workbook.SaveToFile("output/格式設(shè)置結(jié)果.xlsx", ExcelVersion.Version2016)
有了工作簿,我們就可以進入實際的格式設(shè)置示例了。
在學習高級操作前,先掌握 Excel 的基礎(chǔ)格式化功能非常重要。這些基本技巧(字體、對齊、邊框、背景顏色、列寬和行高調(diào)整)是創(chuàng)建清晰、專業(yè)電子表格的基石。熟練后可以組合并擴展這些方法,構(gòu)建更復雜的樣式。
修改字體是 Excel 樣式中最常見的任務(wù)。在 Spire.XLS for Python 中,可以通過 CellRange.Style.Font 對象來控制字體名稱、大小、顏色以及加粗、斜體、下劃線等效果。
cell = sheet.Range[2, 2] cell.Text = "Python Excel 格式設(shè)置示例" cell.Style.Font.FontName = "微軟雅黑" cell.Style.Font.Size = 14 cell.Style.Font.Color = Color.get_Blue() cell.Style.Font.IsBold = True
這樣即可直接修改單元格文字的顯示效果。
通過 HorizontalAlignment 和 VerticalAlignment 屬性可以設(shè)置單元格的水平和垂直對齊方式,WrapText 屬性則能讓長文本自動換行。
cell = sheet.Range[4, 2] cell.Text = "這是一個居中并自動換行的示例文本" cell.Style.HorizontalAlignment = HorizontalAlignType.Center cell.Style.VerticalAlignment = VerticalAlignType.Center cell.Style.WrapText = True
這樣可以保持文本居中且易于閱讀。
單元格邊框可通過 Borders 集合來設(shè)置,可以分別指定邊框樣式和顏色。
cell = sheet.Range[6, 2] cell.Text = "邊框示例" cell.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin cell.Style.Borders[BordersLineType.EdgeBottom].Color = Color.get_Black()
這樣會在單元格下方添加一條黑色細線。
通過 Style.Color 可以為單元格添加背景色,常用于突出標題或重點數(shù)據(jù)。
cell = sheet.Range[8, 2] cell.Text = "高亮單元格" cell.Style.Color = Color.get_Yellow()
這樣單元格會顯示為黃色背景。
調(diào)整列寬和行高可以避免文字重疊或留有過多空白。
# 設(shè)置指定列寬 sheet.Columns[1].ColumnWidth = 20 # 設(shè)置指定行高 sheet.Rows[7].RowHeight = 20
此外,還可以自動調(diào)整行列寬度以適應(yīng)內(nèi)容:
這樣可確保表格數(shù)據(jù)整齊且易讀。
下圖展示了字體、對齊、邊框、背景色、列寬和行高調(diào)整的效果:
此外,還可以自定義數(shù)字、日期、貨幣等數(shù)據(jù)格式。
除了逐個單元格設(shè)置,還可以通過單元格區(qū)域和可復用樣式來實現(xiàn)更高效的格式化。主要涉及 CellRange 對象(用于合并、調(diào)整區(qū)域大小)和 Workbook.Styles 集合(用于創(chuàng)建自定義樣式)。
常用于生成報表標題或跨列的分區(qū)標題。
range = sheet.Range[2, 2, 2, 4] range.Merge() range.Text = "季度銷售報表" range.Style.HorizontalAlignment = HorizontalAlignType.Center range.RowHeight = 30
這樣可以將 B2:D2 合并為一個單元格并設(shè)置居中。
Excel 自帶一些預設(shè)樣式,可以快速應(yīng)用。
range.BuiltInStyle = BuiltInStyles.Heading1
這樣會應(yīng)用 標題 1 樣式,無需手動設(shè)置字體和邊框。
當需要在多個單元格或表格中使用同一格式時,可以創(chuàng)建自定義樣式。
# 創(chuàng)建自定義樣式 custom_style = workbook.Styles.Add("自定義樣式") custom_style.Font.FontName = "宋體" custom_style.Font.Size = 12 custom_style.Font.Color = Color.get_DarkGreen() custom_style.Borders[BordersLineType.EdgeTop].LineStyle = LineStyleType.MediumDashDot # 應(yīng)用樣式 cell = sheet.Range[4, 2] cell.Text = "應(yīng)用了自定義樣式" cell.Style = custom_style
這樣能提升格式管理效率,尤其在處理大數(shù)據(jù)時。
下圖展示了合并單元格、內(nèi)置樣式和自定義樣式的效果:
學習了基礎(chǔ)和高級示例后,我們再回顧一下 核心類、屬性和方法。理解這些內(nèi)容有助于寫出更靈活、可維護的腳本。
下表總結(jié)了 Python 格式化 Excel 時最常用的 API,可作為速查表:
掌握這些 API 后,就能以結(jié)構(gòu)化和靈活的方式完成常見格式化任務(wù),確保報表專業(yè)美觀且易于維護。
接下來,我們結(jié)合所學來生成一個 年度銷售報表,包含結(jié)構(gòu)化數(shù)據(jù)、地區(qū)分類和高級格式,讓報表清晰、專業(yè)。
from spire.xls import * workbook = Workbook() sheet = workbook.Worksheets[0] sheet.Name = "銷售報表" # 報表標題 title = sheet.Range[1, 1, 1, 7] title.Merge() title.Text = "2024 年度銷售報表" title.Style.Font.IsBold = True title.Style.Font.Size = 16 title.Style.HorizontalAlignment = HorizontalAlignType.Center title.Style.Color = Color.get_LightGray() title.RowHeight = 30 # 數(shù)據(jù) data = [ ["產(chǎn)品", "地區(qū)", "第一季度", "第二季度", "第三季度", "第四季度", "合計"], ["筆記本", "北方", 1200, 1500, 1300, 1600, 5600], ["筆記本", "南方", 1000, 1200, 1100, 1300, 4600], ["平板", "北方", 800, 950, 1000, 1200, 3950], ["平板", "南方", 700, 850, 900, 1000, 3450], ["手機", "北方", 2000, 2200, 2100, 2500, 8800], ["手機", "南方", 1800, 1900, 2000, 2200, 7900], ["配件", "全部", 600, 750, 720, 900, 2970], ["", "", "", "", "", "總計", 39370] ] for r in range(len(data)): for c in range(len(data[r])): sheet.Range[r+2, c+1].Text = str(data[r][c]) # 表頭格式 header = sheet.Range[2, 1, 2, 7] header.Style.Font.IsBold = True header.Style.Color = Color.get_LightBlue() header.Style.HorizontalAlignment = HorizontalAlignType.Center header.Style.Borders[BordersLineType.EdgeBottom].LineStyle = LineStyleType.Thin # 數(shù)值列設(shè)置為貨幣 for row in range(3, 11): for col in range(3, 8): cell = sheet.Range[row, col] if cell.Text.isdigit(): cell.NumberValue = float(cell.Text) cell.NumberFormat = "¥#,##0" # 高亮總計 grand_total = sheet.Range[10, 7] grand_total.Style.Color = Color.get_LightYellow() grand_total.Style.Font.IsBold = True # 凍結(jié)首行和前兩列 sheet.FreezePanes(2, 3) # 設(shè)置字體名以便自動對齊 sheet.AllocatedRange.Style.Font.FontName = "微軟雅黑" # 自動調(diào)整列寬 sheet.AllocatedRange.AutoFitColumns() workbook.SaveToFile("output/年度銷售報表.xlsx", ExcelVersion.Version2016)
此腳本整合了合并標題、加粗表頭、貨幣格式、總計高亮、凍結(jié)窗格等多種技巧,使報表既清晰又美觀,特別適合商業(yè)和財務(wù)數(shù)據(jù)展示。
最終生成的報表效果如下:
使用 Python 格式化 Excel 是一種高效的報表自動化方式,既能節(jié)省時間,又能保證數(shù)據(jù)展示的專業(yè)性。通過結(jié)合基礎(chǔ)樣式和高級技巧(如自定義樣式和列寬調(diào)整),你可以輕松創(chuàng)建清晰、統(tǒng)一的電子表格。
無論是財務(wù)報表、科研數(shù)據(jù)還是商業(yè)分析,Python Excel 格式設(shè)置 都能幫助你高效完成任務(wù)。合理利用樣式和屬性,讓表格不僅包含數(shù)據(jù),還能直觀傳達信息。
可以。Python 提供了庫來設(shè)置字體、顏色、邊框、對齊方式、條件格式等。
可以使用 Spire.XLS for Python 庫,通過代碼修改字體、對齊、列寬、合并單元格、應(yīng)用樣式等。
可以。Python 不僅能格式化,還能創(chuàng)建、讀取、修改和保存 Excel 文件,非常適合動態(tài)報表和數(shù)據(jù)自動化。
可以定義自定義樣式或封裝函數(shù),將統(tǒng)一的格式應(yīng)用到多個工作簿和工作表中,從而提高效率并保持一致性。
————————————————————————————————————————
關(guān)于慧都科技:
慧都科技是一家行業(yè)數(shù)字化解決方案公司,長期專注于軟件、油氣與制造行業(yè)。公司基于深入的業(yè)務(wù)理解與管理洞察,以系統(tǒng)化的業(yè)務(wù)建模驅(qū)動技術(shù)落地,幫助企業(yè)實現(xiàn)智能化運營與長期競爭優(yōu)勢。在軟件工程領(lǐng)域,我們提供開發(fā)控件、研發(fā)管理、代碼開發(fā)、部署運維等軟件開發(fā)全鏈路所需的產(chǎn)品,提供正版授權(quán)采購、技術(shù)選型、個性化維保等服務(wù),幫助客戶實現(xiàn)技術(shù)合規(guī)、降本增效與風險可控。慧都科技E-iceblue的官方授權(quán)代理商,提供E-iceblue系列產(chǎn)品免費試用,咨詢,正版銷售等于一體的專業(yè)化服務(wù)。E-iceblue旗下Spire系列產(chǎn)品是國產(chǎn)文檔處理領(lǐng)域的優(yōu)秀產(chǎn)品,支持國產(chǎn)化,幫助企業(yè)高效構(gòu)建文檔處理的應(yīng)用程序。
歡迎下載|體驗更多E-iceblue產(chǎn)品
獲取更多信息請咨詢 ;技術(shù)交流Q群(125237868)
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請郵件反饋至chenjj@ke049m.cn
文章轉(zhuǎn)載自:慧都網(wǎng)