Excel作为强大的数据处理与分析工具,不仅能够存储大量数据,还支持复杂的数据处理与可视化功能。而如何恰当地展示Excel表格中的数据是Excel文件制作的关键之一。这便涉及到Excel单元格数字格式的设置。数字格式不仅关乎数据的美学呈现,如货币、日期或百分比的格式化显示,更直接影响到数据的可读性与准确性。Python语言可以帮助我们灵活设置Excel单元格的数字格式,保证数据的一致性与专业标准。本文将介绍如何使用Python对Excel工作表中单元格的数字格式进行设置。
文章目录
本文所使用的方法需要用到Spire.XLS for Python,PyPI:pip install Spire.XLS
。
申请免费License
通过格式代码设置Excel单元格的数字格式
Excel中单元格的数字显示格式可以由格式代码进行设置,这些代码通过一些列符号决定单元格中数值数据、时间和日期数据以及汇率数据等的显示方式。以下是一些常用的格式代码符号:
- #:表示数字占位符,仅显示非零数字。
- 0:代表数字占位符,显示数字时总会占据至少一个位置,即使数字为 0 也会显示。
- ;(半角分号):用于分隔正数、负数和零的格式。
- /(斜杠):在日期格式中分隔年、月和日。
- $:货币符号,用于表示货币值,可根据系统区域设置。
- ()(半角括号):用于负数的格式,使负数显示在括号中。
- [](方括号) :用于条件格式设置,如颜色设置
[Red]
或条件表达式[<=100]"Low";[>100]"High"
。
库中提供CellRange.NumberValue
来在单元格中添加数据,以及CellRange.NumberFormat
来通过格式代码来设置单元格数据的数字展示格式。以下是用Python设置Excel单元格数字格式的操作步骤:
- 导入所需模块。
- 创建
Workbook
实例从而创建一个Excel工作簿。 - 使用
Worhbook.Worksheets.Clear()
方法清除默认工作簿,并使用Workbook.Worksheets.Add()
方法在工作簿中新建一个工作表。 - 使用
Worksheet.Range[].Text
属性设置表头文本。 - 使用
Worksheet.Range[].NumberValue
属性设置单元格数据,并使用Worksheet.Range[].NumberFormat
通过格式代码设置单元格数字格式。 - 使用
CellRange.Style.Font
属性下的属性设置字体格式,以及CellRange.AutoFitRows()
和CellRange.AutoFitColumns()
方法自动调整行高和列宽。 - 使用
Workbook.SaveToFile()
方法保存工作簿。 - 释放资源。
代码示例:
python
from spire.xls import *
from spire.xls.common import *
# 创建Workbook实例
workbook = Workbook()
# 清除默认工作表并创建一个新的工作表
workbook.Worksheets.Clear()
sheet = workbook.Worksheets.Add("数字格式")
# 设置标题行
sheet.Range["B9"].Text = "数字格式"
sheet.Range["C9"].Text = "数值"
sheet.Range["D9"].Text = "显示"
# 设置带千位分隔符和两位小数的数字
sheet.Range["B10"].Text = "带千位分隔符和两位小数的数字"
sheet.Range["C10"].Text = "-1234123.5678"
sheet.Range["D10"].NumberValue = -1234123.5678
sheet.Range["D10"].NumberFormat = "#,##0.00"
# 设置红色的数字
sheet.Range["B11"].Text = "红色数字"
sheet.Range["C11"].Text = "12345.12345"
sheet.Range["D11"].NumberValue = 12345.12345
sheet.Range["D11"].NumberFormat = "[Red]###0.00"
# 设置带两位小数的百分数
sheet.Range["B12"].Text = "带两位小数的百分数"
sheet.Range["C12"].Text = "0.12345"
sheet.Range["D12"].NumberValue = 0.12345
sheet.Range["D12"].NumberFormat = "0.00%"
# 设置带括号的数字
sheet.Range["B13"].Text = "带括号的数字"
sheet.Range["C13"].Text = "-1234.5678"
sheet.Range["D13"].NumberValue = -1234.5678
sheet.Range["D13"].NumberFormat = "(###0.00;(###0.00))"
# 设置日期
sheet.Range["B14"].Text = "日期"
sheet.Range["C14"].Text = "36526"
sheet.Range["D14"].NumberValue = 36526
sheet.Range["D14"].NumberFormat = "yyyy/m/d"
# 设置24小时制时间
sheet.Range["B15"].Text = "24小时制时间"
sheet.Range["C15"].Text = "0.6"
sheet.Range["D15"].NumberValue = 0.6
sheet.Range["D15"].NumberFormat = "H:MM:SS"
# 设置中文格式的货币
sheet.Range["B16"].Text = "中文格式的货币"
sheet.Range["C16"].Text = "1234.56"
sheet.Range["D16"].NumberValue = 1234.56
sheet.Range["D16"].NumberFormat = "¥#,##0.00"
# 设置科学计数法
sheet.Range["B17"].Text = "科学计数法"
sheet.Range["C17"].Text = "1234.5678"
sheet.Range["D17"].NumberValue = 1234.5678
sheet.Range["D17"].NumberFormat = "0.00E+00"
# 设置日期和12小时制时间
sheet.Range["B18"].Text = "日期和12小时制时间"
sheet.Range["C18"].Text = "36526"
sheet.Range["D18"].NumberValue = 36526
sheet.Range["D18"].NumberFormat = "yyyy/m/d h:mm:ss 上午/下午"
# 设置带文本的数字
sheet.Range["B19"].Text = "带文本的数字"
sheet.Range["C19"].Text = "1234.5678"
sheet.Range["D19"].NumberValue = 1234.5678
sheet.Range["D19"].NumberFormat = "\"CNY \"###0.00"
# 设置字体、字体大小并自动调整行列
sheet.AllocatedRange.Style.Font.FontName = "HarmonyOS Sans SC"
sheet.AllocatedRange.Style.Font.Size = 13
sheet.AllocatedRange.AutoFitRows()
sheet.AllocatedRange.AutoFitColumns()
# 保存文件
workbook.SaveToFile("output/Excel单元格数字格式.xlsx", FileFormat.Version2016)
workbook.Dispose()
保存的工作簿
本文介绍了如何使用Python设置Excel工作表中单元格的数字格式。
更多Excel文件处理技巧请前往Spire.XLS for Python教程查看。