资讯动态

使用C#代码设置 Excel 单元格的数字格式

发布时间:2026/10/14 15:16:37 来源:尧图企业网站定制
在 Excel 工作表中原始数据通常以普通数字的形式呈现缺乏直观性。通过设置数字格式可以将这些数字转换为更易于理解的形式。例如将销售数据设置为货币格式添加货币符号和千位分隔符可以让金额一目了然将市场份额数据设置为百分比格式则可以清晰地展示各部分所占的比例便于快速比较和分析。本文将介绍如何使用 C# 设置 Excel 单元格的数字格式。安装所需组件首先需要将相关 DLL 文件添加为 .NET 项目的引用。你可以从官方下载页面获取所需文件也可以通过 NuGet 安装相关组件。PM Install-Package Spire.XLSExcel 数字格式中的符号在 Excel 数字格式代码中可以使用多种符号来定义数字的显示方式。以下是常见符号及其详细说明符号说明0必须显示的数字占位符。如果位数不足则使用零补齐。#可选数字占位符不显示无意义的前导零或末尾零。?可选数字占位符。通过添加空格对齐小数点以及分数中的末尾零。.表示小数点。,用作千位分隔符。;用于分隔数字格式代码的不同部分分别定义正数、负数、零值和文本的显示方式。%将数值乘以 100并添加百分号。E、-、用于表示科学计数法中的指数及其正负号。货币符号$、€、¥等显示相应的货币符号。[Color]指定数字的显示颜色。日期/时间格式yyyy、mmmm、mm、dd、hh、ss、AM/PM分别用于表示年份、完整月份名称、月份、日期、小时、秒以及 12 小时制的上午/下午标记。分钟通常使用m或mm表示具体含义取决于上下文。使用 C# 设置 Excel 单元格的数字格式在 C# 中可以通过NumberValue属性设置单元格的数值并使用NumberFormat属性指定数字格式代码从而控制数值的显示方式。具体步骤如下创建一个Workbook工作簿对象。通过Workbook.Worksheets[]属性获取指定的工作表。通过Worksheet.Range[]属性获取指定的单元格或单元格区域。使用CellRange.Text属性向指定单元格添加文本。使用CellRange.NumberValue属性设置单元格的数值再通过CellRange.NumberFormat属性设置相应的数字格式。使用Workbook.SaveToFile()方法保存生成的 Excel 文件。完整示例代码如下using Spire.Xls; namespace SetNumberFormat { class Program { static void Main(string[] args) { // 创建一个 Workbook 实例 Workbook workbook new Workbook(); // 获取第一个工作表 Worksheet sheet workbook.Worksheets[0]; // 向指定单元格添加文本并设置单元格样式 sheet.Range[B3].Text 数值; sheet.Range[C3].Text 数字格式; sheet.Range[D3].Text 显示结果; sheet.Range[E3].Text 说明; sheet.Range[B3:E3].Style.Font.IsBold true; sheet.Range[B3:E3].Style.KnownColor ExcelColors.SkyBlue; // 使用零补齐数字位数 sheet.Range[B4].Text 123; sheet.Range[C4].Text 0000; sheet.Range[D4].NumberValue 123; sheet.Range[D4].NumberFormat 0000; sheet.Range[E4].Text 使用零补齐数字位数; // 设置两位小数并使用千位分隔符 sheet.Range[B5].Text 1234.5678; sheet.Range[C5].Text #,##0.00; sheet.Range[D5].NumberValue 1234.5678; sheet.Range[D5].NumberFormat #,##0.00; sheet.Range[E5].Text 保留两位小数并使用千位分隔符; // 将负数显示为红色 sheet.Range[B6].Text -1234.5678; sheet.Range[C6].Text 0;[Red]-0; sheet.Range[D6].NumberValue -1234.5678; sheet.Range[D6].NumberFormat 0;[Red]-0; sheet.Range[E6].Text 将负数显示为红色; // 设置为保留一位小数的百分比格式 sheet.Range[B7].Text 0.12345; sheet.Range[C7].Text 0.0%; sheet.Range[D7].NumberValue 0.12345; sheet.Range[D7].NumberFormat 0.0%; sheet.Range[E7].Text 百分比保留一位小数; // 在数字前添加文本 sheet.Range[B8].Text 1234.5678; sheet.Range[C8].Text \数量\0; sheet.Range[D8].NumberValue 1234.5678; sheet.Range[D8].NumberFormat \数量\0; sheet.Range[E8].Text 在数字前添加文本; // 设置带货币符号的数字格式 sheet.Range[B9].Text 1234.5678; sheet.Range[C9].Text $#,##0.00; sheet.Range[D9].NumberValue 1234.5678; sheet.Range[D9].NumberFormat $#,##0.00; sheet.Range[E9].Text 显示货币符号; // 设置科学计数法格式 sheet.Range[B10].Text 1234.5678; sheet.Range[C10].Text 0.00E00; sheet.Range[D10].NumberValue 1234.5678; sheet.Range[D10].NumberFormat 0.00E00; sheet.Range[E10].Text 使用科学计数法显示数字; // 设置分数格式 sheet.Range[B11].Text 0.5; sheet.Range[C11].Text # ?/?; sheet.Range[D11].NumberValue 0.5; sheet.Range[D11].NumberFormat # ?/?; sheet.Range[E11].Text 将数字显示为分数; // 设置日期格式 sheet.Range[B12].Text 45930; sheet.Range[C12].Text yyyy-MM-dd; sheet.Range[D12].NumberValue 45930; sheet.Range[D12].NumberFormat yyyy-MM-dd; sheet.Range[E12].Text 将数值显示为日期; // 设置时间格式 sheet.Range[B13].Text 0.5; sheet.Range[C13].Text h:mm:ss AM/PM; sheet.Range[D13].NumberValue 0.5; sheet.Range[D13].NumberFormat h:mm:ss AM/PM; sheet.Range[E13].Text 将数值显示为时间; // 设置已使用区域的单元格样式 sheet.AllocatedRange.Style.Font.FontName Calibri; sheet.AllocatedRange.Style.Font.Size 11; sheet.AllocatedRange.Style.HorizontalAlignment HorizontalAlignType.Left; // 自动调整列宽 sheet.AutoFitColumn(2); sheet.AutoFitColumn(3); sheet.AutoFitColumn(4); sheet.AutoFitColumn(5); // 保存生成的 Excel 文件 workbook.SaveToFile(ExcelNumberFormat.xlsx, ExcelVersion.Version2016); } } }总结本文介绍了如何使用 C# 设置 Excel 单元格的数字格式。通过设置NumberFormat属性可以根据实际需求灵活控制数值的显示方式包括补齐数字位数、保留指定小数位、添加千位分隔符、将负数显示为红色以及设置百分比、货币、科学计数法、分数、日期和时间等格式。合理设置数字格式可以让 Excel 数据更加直观、规范便于阅读、比较和分析。在处理销售报表、财务数据、统计结果等场景时掌握这些格式设置方法能够有效提升数据展示的清晰度和可读性。

读完文章,也想定制专属网站?

尧图设计师 24 小时内与您沟通定制方案

免费获取报价 →
↑