如何设置单元格数据格式

Chaknith related to 如何设置单元格数据格式
查克尼特·宾
2023年七月31日
更新 2024年十二月10日
分享:
This article was translated from English: Does it need improvement?
Translated
View the article in English

数据格式化和数字格式化在Excel中允许您控制数字、日期、时间和其他数据在单元格中的显示方式,提高可读性并确保数据准确性。 您可以使用数据格式以特定格式(如百分比或货币)展示信息。 同样,数字格式允许您自定义小数位数和显示选项。

IronXL 库允许您在 C# 中设置数据格式或数字格式。 这个库简化了以编程方式创建、格式化和操作 Excel 文件的过程,使其成为 C# 应用程序中处理和展示数据任务的宝贵工具。


开始使用IronXL

立即在您的项目中开始使用IronXL,并享受免费试用。

第一步:
green arrow pointer


设置单元格数据格式示例

FormatString 属性可以通过单元格和范围进行访问。 因此,可以为单个单元格、列、行和任何选定范围设置数据格式。

:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format.cs
using IronXL;
using IronXL.Formatting;
using System;
using System.Linq;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Set the data format to 12300.00%
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Percent2;

// Set the data format to 123.0000
workSheet["A2"].Value = 123;
workSheet["A2"].FormatString = "0.0000";

// Set data display format to range
DateTime dateValue = new DateTime(2020, 1, 1, 12, 12, 12);
workSheet["A3"].Value = dateValue;
workSheet["A4"].Value = new DateTime(2022, 3, 3, 10, 10, 10);
workSheet["A5"].Value = new DateTime(2021, 2, 2, 11, 11, 11);

IronXL.Range range = workSheet["A3:A5"];

// Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss";

workBook.SaveAs("dataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting
Imports System
Imports System.Linq

' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Set the data format to 12300.00%
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Percent2

' Set the data format to 123.0000
Private workSheet("A2").Value = 123
Private workSheet("A2").FormatString = "0.0000"

' Set data display format to range
Private dateValue As New DateTime(2020, 1, 1, 12, 12, 12)
Private workSheet("A3").Value = dateValue
Private workSheet("A4").Value = New DateTime(2022, 3, 3, 10, 10, 10)
Private workSheet("A5").Value = New DateTime(2021, 2, 2, 11, 11, 11)

Private range As IronXL.Range = workSheet("A3:A5")

' Set the data format to 1/1/2020 12:12:12
range.FormatString = "MM/dd/yy h:mm:ss"

workBook.SaveAs("dataFormats.xlsx")
$vbLabelText   $csharpLabel
数据格式

将单元格值设置为字符串

在 IronXL 中设置值时,使用 StringValue 而不是 Value,以便直接将确切的值分配给单元格而无需自动转换。 这种用法类似于在Excel中的单元格值前放置撇号。

:path=/static-assets/excel/content-code-examples/how-to/write-excel-net-assign-stringvalue.cs
// Assign value as string
workSheet["A1"].StringValue = "4402-12";
' Assign value as string
workSheet("A1").StringValue = "4402-12"
$vbLabelText   $csharpLabel

使用内置格式示例

IronXL 库提供多种预定义格式字符串,可以通过 IronXL.Formatting.BuiltinFormats 类访问,用于格式化 Excel 单元格,允许您自定义数据在 Excel 电子表格中的显示方式。

:path=/static-assets/excel/content-code-examples/how-to/set-cell-data-format-builtin-formats.cs
using IronXL;
using IronXL.Formatting;

// Create a new workbook
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;

// Use builtin formats
workSheet["A1"].Value = 123;
workSheet["A1"].FormatString = BuiltinFormats.Accounting0;

workBook.SaveAs("builtinDataFormats.xlsx");
Imports IronXL
Imports IronXL.Formatting

' Create a new workbook
Private workBook As WorkBook = WorkBook.Create()
Private workSheet As WorkSheet = workBook.DefaultWorkSheet

' Use builtin formats
Private workSheet("A1").Value = 123
Private workSheet("A1").FormatString = BuiltinFormats.Accounting0

workBook.SaveAs("builtinDataFormats.xlsx")
$vbLabelText   $csharpLabel

可用的内置数据格式

对于持续时间类型,输入值以天数表示。 例如,1天等于24小时,1.05天相当于25小时12分钟。 以下是可用的格式类型:

所有可用的数据格式

说明

  • 常规:默认格式按原样显示数字,没有任何特定格式。
  • Duration1:显示以分钟和秒为单位的持续时间值,如“mm:ss”。输入到值属性的数字将被视为天数。
  • Duration2:显示持续时间值为小时、分钟和秒,例如 "[h]:mm:ss."
  • Duration3:以分钟、秒和毫秒显示持续时间值,例如“mm:ss.0”。
  • Accounting0:格式化不带小数位的会计值,负值使用括号表示,如"#,##0_);(#,##0)”。
  • Accounting0Red:格式化不带小数位的会计值,负值使用红色,例如“#,##0_);Red”。
  • Accounting2:格式化带有两位小数的会计值,使用括号表示负值,例如“#,##0.00;(#,##0.00)”。
  • Accounting2Red:格式化会计值,保留两位小数,负值使用红色显示,例如 "#,##0.00_);Red."。
  • Time1:以12小时制格式化时间值,带有上午/下午(AM/PM),例如“h:mm AM/PM”。
  • Time2:将时间值格式化为带秒和上午/下午的12小时制格式,例如“h:mm:ss AM/PM”。
  • Time3:以24小时制格式输出时间值,不包含秒,如“h:mm”。
  • Time4:以24小时制格式显示时间值,包含秒数,如“h:mm:ss”。
  • ShortDate:以短格式格式化日期值,例如 "m/d/yy"。
  • ShortDateAndTime: 以简短格式格式化日期和时间值,例如“m/d/yy h:mm”。
  • LongDate1:将日期值格式化为包含月份、日期和年份的长格式,例如“d-mmm-yy”。
  • LongDate2: 将日期值格式化为以天和缩写月份的长格式,例如“d-mmm”。
  • LongDate3:以长格式格式化日期值,包含缩写的月份和年份,如“mmm-yy”。
  • Fraction1: 格式化小数值为一位数字,例如 "# ?/?."
  • Fraction2: 以两位数格式化分数值,如“# ??/??”。
  • Scientific1:将数字格式化为科学计数法,小数点后保留一位数字,例如"##0.0E+0"。
  • Scientific2:将数字格式化为科学计数法,小数点后有两位数字,如“0.00E+00”。
  • 百分比:用于格式化不带小数位的百分比值,例如“0%”。
  • Percent2:将百分比值格式化为小数点后两位,例如“0.00%”。
  • Currency0:格式化货币值时不带小数位,使用括号表示负值,例如 "$#,##0_);($#,##0)。"
  • Currency0Red:格式化货币值时不使用小数位数,负值使用红色显示,如“$ #,##0_);Red.”
  • Currency2:格式化货币值, 保留两位小数, 对于负值使用括号表示, 例如“$#,##0.00;($#,##0.00)”。
  • Currency2Red:格式化货币值为两位小数,负值使用红色,例如“$#,##0.00_);Red”。
  • Thousands0:以千位分隔符格式显示数字,没有小数位,例如“#,##0”。
  • Thousands2:将数字格式化为带有千位分隔符和两位小数的格式,例如"#,##0.00"。
  • Number0:格式化不带小数位的数字,如“0”。
  • Number2:将数字格式化为两位小数,如“0.00”。
  • 文本:将文本值格式化为纯文本,例如“@”(不应用特定格式)。
Chaknith related to 说明
软件工程师
Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。