如何设置单元格数据格式

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")
VB   C#
数据格式

将单元格值设置为字符串

在 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"
VB   C#

使用内置格式示例

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")
VB   C#

可用的内置数据格式

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

所有可用数据格式

说明

  • 常规:默认格式,按原样显示数字,没有特定的格式。
  • 持续时间1:以分钟和秒钟显示持续时间值,例如“mm:ss”。输入到“值”属性中的数字将被视为天数。
  • Duration2:以小时、分钟和秒的格式显示持续时间,例如“小时、分钟、秒”。[h]:mm:ss.
  • Duration3:显示持续时间值,格式为分钟、秒和毫秒,例如“mm:ss.0”。
  • Accounting0:格式化会计值,不使用小数位,负值使用括号,如"#,##0"。);(#,##0)."
  • Accounting0Red:格式化会计值,不带小数位数,负值使用红色显示,如"#,##0);Red.
  • Accounting2:使用括号表示负值,将会计值格式化为两位小数,如“#,##0.00;(-#,##0.00)”。(#,##0.00)."
  • Accounting2Red:使用红色标识负值,将会计数值格式化为两位小数,例如“#,##0.00_ ;[红色]-#,##0.00”。);Red.
  • Time1:以12小时制格式显示时间值,如“h:mm AM/PM”。
  • Time2:以12小时制格式显示时间值,包括秒和AM/PM,例如“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_ ;[红色]-$#,##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 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。