Excel处置处罚控件Spire.XLS系列教程:C# 设置 Excel 中的数字格式

[复制链接]
发表于 2025-9-29 22:57:18 | 显示全部楼层 |阅读模式
在 Excel 工作表中,原始数据通常体现为缺乏直观性的平常数字。通过设置数字格式,可以将这些数字转换成更轻易明确的情势。比方,将贩卖额数据设置为货币格式,即添加货币符号和千位分隔符,可使所代表的金额一览无余。将市场份额数据格式化为百分比格式,可以清楚地体现各部门的比例,便于快速比力和分析。本文将先容怎样使用 Spire.XLS for .NET 通过 C# 设置 Excel 单元格中的数字格式 。
Spire.XLS for .NET试用下载
安装 Spire.XLS for .NET

E-iceblue旗下Spire是国产文档处置处罚范畴的良好产物,支持国产化开辟。起首,您须要将 Spire.XLS for .NET 包罗的 DLL 文件作为引用添加到您的 .NET 项目中。DLL 文件可以今后链接下载,也可以通过 NuGet 安装。

  1. PM> Install-Package Spire.XLS
复制代码
Excel 数字格式中的符号

在 Excel 数字格式代码中,须要用到一些符号来界说数字的体现方式。下面是常用符号的详细表明:
符号形貌
0必填数字占位符。如果数字的位数少于“0”的个数,Excel 会在数字前或后添加 0 以填满占位符
#可选数字占位符。不体现偶尔义的零。
?可选数字占位符。可以使具有差异小数位数的数字在小数点处对齐。
.代表小数点。
,代表千位分隔符。
;用于分隔正值、负值、零值和文本值的数字格式的差异部门。
%百分比符号。将数字乘以 100 并体现为百分比情势。
E - +代表科学计数法符号。
$, €, ¥, etc.代表相应的货币符号。
[Color]用于指定命字的颜色。
Date/Time (yyyy, mmmm, mm, dd, hh, ss, AM/PM)分别代表年、全月名、月、日、时、分、秒和 12 小时时钟标志。
C# 设置 Excel 中的数字格式

Spire.XLS for .NET 提供了用于设置单元格数值的 CellRange.NumberValue 属性和用于设置数字格式的 CellRange.NumberFormat 属性。详细步调如下:


  • 创建 Workbook 类的对象。
  • 通过 Workbook.Worksheets[] 属性获取指定的工作表。
  • 通过 Workbook.Range[] 属性获取指定的单元格。
  • 通过 CellRange.Text 属性向指定单元格添加文本。
  • 通过 CellRange.NumberValue 属性为指定单元格添加数值,然后通过 CellRange.NumberFormat 属性设置数字格式。
  • 使用 Workbook.SaveToFile() 方法生存结果文件。
  1. using Spire.Xls;
  2. namespace SetNumberFormat
  3. {
  4.     class Program
  5.     {
  6.         static void Main(string[] args)
  7.         {
  8.             // 创建Workbook类的对象
  9.             Workbook workbook = new Workbook();
  10.             // 获取第一张工作表
  11.             Worksheet sheet = workbook.Worksheets[0];
  12.             // 在指定单元格中添加文本并设置单元格样式
  13.             sheet.Range["B3"].Text = "输入";
  14.             sheet.Range["C3"].Text = "数字格式";
  15.             sheet.Range["D3"].Text = "输出";
  16.             sheet.Range["E3"].Text = "备注";
  17.             sheet.Range["B3:E3"].Style.Font.IsBold = true;
  18.             sheet.Range["B3:E3"].Style.KnownColor = ExcelColors.SkyBlue;
  19.             // 用零填充的数字
  20.             sheet.Range["B4"].Text = "123";
  21.             sheet.Range["C4"].Text = "0000";
  22.             sheet.Range["D4"].NumberValue = 123;
  23.             sheet.Range["D4"].NumberFormat = "0000";
  24.             sheet.Range["E4"].Text = "用零填充的数字";
  25.             // 带千位分隔符的两位数小数
  26.             sheet.Range["B5"].Text = "1234.5678";
  27.             sheet.Range["C5"].Text = "#,##0.00";
  28.             sheet.Range["D5"].NumberValue = 1234.5678;
  29.             sheet.Range["D5"].NumberFormat = "#,##0.00";
  30.             sheet.Range["E5"].Text = "带千位分隔符的两位数小数";
  31.             // 负数用红色表示
  32.             sheet.Range["B6"].Text = "-1234.5678";
  33.             sheet.Range["C6"].Text = "0;[Red]-0";
  34.             sheet.Range["D6"].NumberValue = -1234.5678;
  35.             sheet.Range["D6"].NumberFormat = "0;[Red]-0";
  36.             sheet.Range["E6"].Text = "负数用红色表示";
  37.             // 带一位小数的百分比
  38.             sheet.Range["B7"].Text = "0.12345";
  39.             sheet.Range["C7"].Text = "0.0%";
  40.             sheet.Range["D7"].NumberValue = 0.12345;
  41.             sheet.Range["D7"].NumberFormat = "0.0%";
  42.             sheet.Range["E7"].Text = "带一位小数的百分比";
  43.             // 带文本的数字
  44.             sheet.Range["B8"].Text = "1234.5678";
  45.             sheet.Range["C8"].Text = ""Quantity: "0";
  46.             sheet.Range["D8"].NumberValue = 1234.5678;
  47.             sheet.Range["D8"].NumberFormat = ""数量: "0";
  48.             sheet.Range["E8"].Text = "带文本的数字";
  49.             // 带货币符号的数字
  50.             sheet.Range["B9"].Text = "1234.5678";
  51.             sheet.Range["C9"].Text = "$#,##0.00";
  52.             sheet.Range["D9"].NumberValue = 1234.5678;
  53.             sheet.Range["D9"].NumberFormat = "$#,##0.00";
  54.             sheet.Range["E9"].Text = "带货币符号的数字";
  55.             // 科学记数法格式
  56.             sheet.Range["B10"].Text = "1234.5678";
  57.             sheet.Range["C10"].Text = "0.00E+00";
  58.             sheet.Range["D10"].NumberValue = 1234.5678;
  59.             sheet.Range["D10"].NumberFormat = "0.00E+00";
  60.             sheet.Range["E10"].Text = "科学记数法";
  61.             // 分数
  62.             sheet.Range["B11"].Text = "0.5";
  63.             sheet.Range["C11"].Text = "# ?/?";
  64.             sheet.Range["D11"].NumberValue = 0.5;
  65.             sheet.Range["D11"].NumberFormat = "# ?/?";
  66.             sheet.Range["E11"].Text = "分数";
  67.             // 日期
  68.             sheet.Range["B12"].Text = "45930";
  69.             sheet.Range["C12"].Text = "yyyy-MM-dd";
  70.             sheet.Range["D12"].NumberValue = 45930;
  71.             sheet.Range["D12"].NumberFormat = "yyyy-MM-dd";
  72.             sheet.Range["E12"].Text = "日期";
  73.             // 时间
  74.             sheet.Range["B13"].Text = "0.5";
  75.             sheet.Range["C13"].Text = "h:mm:ss AM/PM";
  76.             sheet.Range["D13"].NumberValue = 0.5;
  77.             sheet.Range["D13"].NumberFormat = "h:mm:ss AM/PM";
  78.             sheet.Range["E13"].Text = "时间";
  79.             // 设置单元格样式
  80.             sheet.AllocatedRange.Style.Font.FontName = "Calibri";
  81.             sheet.AllocatedRange.Style.Font.Size = 11;
  82.             sheet.AllocatedRange.Style.HorizontalAlignment = HorizontalAlignType.Left;
  83.             // 自适应列宽
  84.             sheet.AutoFitColumn(2);
  85.             sheet.AutoFitColumn(3);
  86.             sheet.AutoFitColumn(4);
  87.             sheet.AutoFitColumn(5);
  88.             // 保存结果文件
  89.             workbook.SaveToFile("Excel数字格式.xlsx", ExcelVersion.Version2016);
  90.         }
  91.     }
  92. }
复制代码



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

登录后关闭弹窗

登录参与点评抽奖  加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表