最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python代碼實(shí)現(xiàn)精確設(shè)置Excel單元格數(shù)字格式

 更新時(shí)間:2026年06月17日 08:18:20   作者:Jazzz  
本文將介紹如何通過(guò)?Python?代碼精確控制?Excel?單元格的數(shù)字顯示格式,示例基于?Free?Spire.XLS?for?Python?免費(fèi)庫(kù)實(shí)現(xiàn),文中的示例代碼講解詳細(xì),感興趣的小伙伴可以了解下

在自動(dòng)化報(bào)表生成與數(shù)據(jù)處理場(chǎng)景中,數(shù)值的展示方式直接影響文檔的可讀性與專業(yè)性。千分位分隔、貨幣符號(hào)、百分比顯示、日期格式化等效果,均通過(guò) Excel 的數(shù)字格式機(jī)制實(shí)現(xiàn)。本文將介紹如何通過(guò) Python 代碼精確控制 Excel 單元格的數(shù)字顯示格式,示例基于 Free Spire.XLS for Python 免費(fèi)庫(kù)實(shí)現(xiàn)。

一、環(huán)境準(zhǔn)備

1.1 庫(kù)安裝

通過(guò) pip 安裝免費(fèi)版本:

pip install spire.xls.free

安裝完成后,在 Python 腳本中導(dǎo)入相關(guān)模塊即可使用:

from spire.xls import *
from spire.xls.common import *

1.2 核心概念

Excel 的數(shù)字格式作用于數(shù)值型數(shù)據(jù),僅改變顯示外觀,不改變單元格的實(shí)際存儲(chǔ)值。設(shè)置格式涉及兩個(gè)核心屬性:

  • NumberValue:寫(xiě)入單元格的原始數(shù)值(必須為數(shù)值類型)
  • NumberFormat:格式代碼字符串,定義數(shù)值的顯示規(guī)則

注意:若通過(guò) Text 屬性寫(xiě)入數(shù)字字符串,數(shù)字格式將不會(huì)生效。必須使用 NumberValue 賦值,才能保證格式正確應(yīng)用。

二、常用數(shù)字格式分類與代碼

Excel 數(shù)字格式代碼遵循四段式結(jié)構(gòu):正數(shù)格式;負(fù)數(shù)格式;零值格式;文本格式,各段用分號(hào)分隔。實(shí)際使用中可根據(jù)需求省略部分段落。以下分類介紹高頻場(chǎng)景。

2.1 常規(guī)數(shù)值與小數(shù)位數(shù)

控制小數(shù)點(diǎn)后的保留位數(shù),以及是否顯示千分位分隔符。

格式代碼原始值顯示效果說(shuō)明
01234.561235整數(shù),四舍五入
0.001234.51234.50固定兩位小數(shù)
#,##012345671,234,567千分位分隔,無(wú)小數(shù)
#,##0.001234.5671,234.57千分位 + 兩位小數(shù)

代碼示例:

sheet.Range["D2"].NumberValue = 1234567.89
sheet.Range["D2"].NumberFormat = "#,##0.00"

2.2 貨幣格式

在數(shù)值前添加貨幣符號(hào),通常配合千分位與小數(shù)位使用。

格式代碼顯示效果
¥#,##0.00¥1,234.56
$#,##0.00$1,234.56
€ #,##0.00€ 1,234.56

代碼示例:

sheet.Range["D4"].NumberValue = 9999.99
sheet.Range["D4"].NumberFormat = "¥#,##0.00"

2.3 百分比格式

將小數(shù)乘以 100 后以百分比形式展示。

格式代碼原始值顯示效果
0%0.12312%
0.00%0.1234512.35%

代碼示例:

sheet.Range["D6"].NumberValue = 0.12345
sheet.Range["D6"].NumberFormat = "0.00%"

2.4 日期與時(shí)間格式

Excel 內(nèi)部以序列值存儲(chǔ)日期(1900-01-01 對(duì)應(yīng)數(shù)值 1),通過(guò)格式代碼轉(zhuǎn)換為可讀日期。

格式代碼原始值顯示效果
yyyy-mm-dd455662024-10-01
yyyy年m月d日455662024年10月1日
m/d/yyyy4556610/1/2024
hh:mm:ss0.62515:00:00
h:mm AM/PM0.6253:00 PM
yyyy-mm-dd hh:mm45566.6252024-10-01 15:00

代碼示例:

sheet.Range["D8"].NumberValue = 45566
sheet.Range["D8"].NumberFormat = "yyyy-mm-dd"

sheet.Range["D9"].NumberValue = 0.625
sheet.Range["D9"].NumberFormat = "hh:mm:ss"

2.5 科學(xué)計(jì)數(shù)法

適用于極大或極小數(shù)值的緊湊展示。

格式代碼原始值顯示效果
0.00E+0012345671.23E+06
0.00E-000.00001231.23E-05

2.6 分?jǐn)?shù)格式

以分?jǐn)?shù)形式顯示小數(shù)。

格式代碼原始值顯示效果
# ?/?0.753/4
# ??/??0.3331/3

2.7 條件顏色格式

根據(jù)數(shù)值正負(fù)自動(dòng)顯示不同顏色,方括號(hào)內(nèi)指定顏色名稱。

格式代碼原始值顯示效果
[Green]#,##0;[Red]-#,##0正數(shù)綠色,負(fù)數(shù)紅色
[Red]#,##0.00全部顯示為紅色

代碼示例:

sheet.Range["D12"].NumberValue = -1234.56
sheet.Range["D12"].NumberFormat = "[Green]#,##0.00;[Red]-#,##0.00"

2.8 自定義文本前綴/后綴

在數(shù)值前后附加固定文本,同時(shí)保持?jǐn)?shù)值可計(jì)算性。文本需用雙引號(hào)包裹。

格式代碼原始值顯示效果
"合計(jì):"#,##0" 元"5000合計(jì):5,000 元
0" 件"120120 件

三、完整示例代碼

以下示例在同一張工作表中集中演示多種數(shù)字格式效果:

from spire.xls import *
from spire.xls.common import *
# 創(chuàng)建工作簿
workbook = Workbook()
sheet = workbook.Worksheets.get_Item(0)
sheet.Name = "數(shù)字格式示例"
# 設(shè)置列寬
sheet.SetColumnWidth(2, 22)
sheet.SetColumnWidth(3, 15)
sheet.SetColumnWidth(4, 20)
# 表頭
sheet.Range["B2"].Text = "格式說(shuō)明"
sheet.Range["C2"].Text = "原始值"
sheet.Range["D2"].Text = "顯示結(jié)果"
header_style = sheet.Range["B2:D2"].Style
header_style.Font.IsBold = True
header_style.HorizontalAlignment = HorizontalAlignType.Center
# 示例數(shù)據(jù)與格式
examples = [
("兩位小數(shù)", 1234.567, "0.00"),
("千分位分隔", 1234567.89, "#,##0.00"),
("人民幣貨幣", 9999.99, "¥#,##0.00"),
("美元貨幣", 9999.99, "$#,##0.00"),
("百分比兩位", 0.12345, "0.00%"),
("日期格式", 45566, "yyyy-mm-dd"),
("時(shí)間格式", 0.625, "hh:mm:ss"),
("科學(xué)計(jì)數(shù)法", 1234567, "0.00E+00"),
("正負(fù)分色", -1234.56, "[Green]#,##0.00;[Red]-#,##0.00"),
("文本前綴", 5000, '"合計(jì):"#,##0" 元"'),
]
# 逐行寫(xiě)入
for i, (desc, value, fmt) in enumerate(examples, start=3):
sheet.Range[f"B{i}"].Text = desc
sheet.Range[f"C{i}"].NumberValue = value
sheet.Range[f"C{i}"].NumberFormat = "General"
sheet.Range[f"D{i}"].NumberValue = value
sheet.Range[f"D{i}"].NumberFormat = fmt
# 自動(dòng)調(diào)整列寬
sheet.AllocatedRange.AutoFitColumns()
# 保存文件
workbook.SaveToFile("number_format_demo.xlsx", ExcelVersion.Version2016)
workbook.Dispose()

運(yùn)行后將生成 number_format_demo.xlsx 文件,C 列為原始通用格式數(shù)值,D 列為應(yīng)用格式后的顯示效果。

四、格式代碼語(yǔ)法規(guī)則

4.1 占位符含義

  • 0:數(shù)字占位符。若對(duì)應(yīng)位無(wú)數(shù)字則顯示 0,強(qiáng)制補(bǔ)位。
  • #:數(shù)字占位符。若對(duì)應(yīng)位無(wú)數(shù)字則不顯示,不補(bǔ)零。
  • ?:數(shù)字占位符。用于對(duì)齊分?jǐn)?shù)的小數(shù)點(diǎn)。
  • .:小數(shù)點(diǎn)位置標(biāo)記。
  • ,:千分位分隔符,或數(shù)值縮放(末尾逗號(hào)表示除以 1000)。

4.2 分段規(guī)則

格式代碼最多分為四段,以分號(hào)分隔:

正數(shù)格式;負(fù)數(shù)格式;零值格式;文本格式

  • 只寫(xiě)一段:應(yīng)用于所有數(shù)值
  • 寫(xiě)兩段:第一段用于正數(shù)和零,第二段用于負(fù)數(shù)
  • 寫(xiě)三段:分別對(duì)應(yīng)正、負(fù)、零
  • 寫(xiě)四段:增加文本格式規(guī)則

示例:#,##0.00;[Red]-#,##0.00;"-";@

含義:正數(shù)正常顯示千分位兩位小數(shù);負(fù)數(shù)紅色并帶負(fù)號(hào);零值顯示為短橫線;文本保持原樣。

五、注意事項(xiàng)與常見(jiàn)問(wèn)題

數(shù)值類型必須正確:只有通過(guò) NumberValue 寫(xiě)入的數(shù)值才能應(yīng)用數(shù)字格式。若使用 Text 屬性寫(xiě)入字符串形式的數(shù)字,格式代碼不會(huì)生效。

格式代碼區(qū)分區(qū)域設(shè)置:部分格式符號(hào)(如千分位、日期分隔符)受系統(tǒng)區(qū)域設(shè)置影響。跨地區(qū)使用時(shí)建議采用標(biāo)準(zhǔn)格式代碼。

日期序列值基準(zhǔn):Excel 默認(rèn)以 1900-01-01 為序列值 1。設(shè)置日期格式前需確認(rèn)數(shù)值對(duì)應(yīng)的日期是否正確。

免費(fèi)版限制:Free 版本存在工作表數(shù)量與行數(shù)限制,適用于小型文件處理場(chǎng)景。大規(guī)模數(shù)據(jù)處理需評(píng)估是否滿足業(yè)務(wù)需求。

格式繼承與覆蓋:單元格級(jí)別的 NumberFormat 設(shè)置會(huì)覆蓋列或行級(jí)別的默認(rèn)格式。批量設(shè)置時(shí),可對(duì)整個(gè) Range 統(tǒng)一賦值以提升效率。

六、總結(jié)

通過(guò) NumberFormat 屬性配合格式代碼,可以在 Python 中精確控制 Excel 單元格的數(shù)值顯示效果。掌握常用格式代碼與分段規(guī)則后,即可實(shí)現(xiàn)貨幣、百分比、日期、條件顏色等多種專業(yè)展示效果,滿足報(bào)表自動(dòng)化的各類排版需求。在實(shí)際項(xiàng)目中,建議將常用格式封裝為常量或配置項(xiàng),以提升代碼的可維護(hù)性與復(fù)用性。

以上就是Python代碼實(shí)現(xiàn)精確設(shè)置Excel單元格數(shù)字格式的詳細(xì)內(nèi)容,更多關(guān)于Python設(shè)置Excel單元格數(shù)字格式的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Python如何設(shè)置Excel單元格邊框

    Python如何設(shè)置Excel單元格邊框

    在數(shù)據(jù)驅(qū)動(dòng)的業(yè)務(wù)場(chǎng)景中,自動(dòng)化設(shè)置Excel單元格邊框成為提升數(shù)據(jù)處理效率的關(guān)鍵環(huán)節(jié),下面我們就來(lái)講講如何使用Python設(shè)置Excel工作簿中單元格的邊框吧
    2025-04-04
  • 解決python腳本中error: unrecognized arguments: True錯(cuò)誤

    解決python腳本中error: unrecognized arguments: True錯(cuò)誤

    這篇文章主要介紹了解決python腳本中error: unrecognized arguments: True錯(cuò)誤,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2020-04-04
  • 使用Mixin設(shè)計(jì)模式進(jìn)行Python編程的方法講解

    使用Mixin設(shè)計(jì)模式進(jìn)行Python編程的方法講解

    Mixin模式也可以看作是一種組合模式,綜合多個(gè)類的功能來(lái)產(chǎn)生一個(gè)類而不通過(guò)繼承來(lái)實(shí)現(xiàn),下面就來(lái)整理一下使用Mixin設(shè)計(jì)模式進(jìn)行Python編程的方法講解:
    2016-06-06
  • Python開(kāi)發(fā)教程之os.path的常用操作總結(jié)

    Python開(kāi)發(fā)教程之os.path的常用操作總結(jié)

    這篇文章主要介紹了Python開(kāi)發(fā)教程之os.path的常用操作,os模塊最常用的功能之一就是文件和目錄操作,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2025-05-05
  • python中使用.py配置文件的方法詳解

    python中使用.py配置文件的方法詳解

    這篇文章主要介紹了python中使用.py配置文件的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Python實(shí)現(xiàn)輕松處理兩行表頭Excel并可視化分析(附完整代碼)

    Python實(shí)現(xiàn)輕松處理兩行表頭Excel并可視化分析(附完整代碼)

    在日常的數(shù)據(jù)處理中,我們經(jīng)常會(huì)遇到多級(jí)表頭的 Excel 文件,本文通過(guò)一個(gè)實(shí)際案例,帶你完整了解讀取 Excel ,整理多級(jí)表頭 ,提取庫(kù)存,銷量的數(shù)據(jù) ,繪圖可視化的完整步驟吧
    2025-11-11
  • 使用Python實(shí)現(xiàn)視頻下載的多種方案

    使用Python實(shí)現(xiàn)視頻下載的多種方案

    在數(shù)字時(shí)代,我們經(jīng)常需要下載視頻用于離線觀看或個(gè)人學(xué)習(xí),本文將介紹如何使用Python編寫(xiě)一個(gè)簡(jiǎn)單的視頻下載工具,不涉及任何特定視頻網(wǎng)站,而是聚焦于通用技術(shù)原理和實(shí)現(xiàn)方法,需要的朋友可以參考下
    2026-05-05
  • python通過(guò)apply使用元祖和列表調(diào)用函數(shù)實(shí)例

    python通過(guò)apply使用元祖和列表調(diào)用函數(shù)實(shí)例

    這篇文章主要介紹了python通過(guò)apply使用元祖和列表調(diào)用函數(shù),實(shí)例分析了python中apply方法的使用技巧,需要的朋友可以參考下
    2015-05-05
  • python中的對(duì)象拷貝示例 python引用傳遞

    python中的對(duì)象拷貝示例 python引用傳遞

    你想復(fù)制一個(gè)對(duì)象?因?yàn)樵赑ython中,無(wú)論你把對(duì)象做為參數(shù)傳遞,做為函數(shù)返回值,都是引用傳遞的
    2014-01-01
  • python argparser的具體使用

    python argparser的具體使用

    這篇文章主要介紹了python argparser的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-11-11

最新評(píng)論

咸丰县| 洱源县| 朔州市| 常熟市| 荔波县| 河源市| 古浪县| 周口市| 乐亭县| 南安市| 闻喜县| 绵阳市| 余姚市| 延长县| 勐海县| 华容县| 宝坻区| 若尔盖县| 富民县| 长武县| 抚松县| 台东市| 宜黄县| 沂水县| 讷河市| 德庆县| 炎陵县| 淅川县| 黄陵县| 广南县| 通辽市| 洪湖市| 承德县| 通城县| 札达县| 五原县| 栾川县| 隆林| 嘉善县| 乐平市| 宣城市|