如何设置单元格数据格式

This article was translated from English: Does it need improvement?
Translated
View the article in English

查克尼特·宾

Excel 中的数据格式和数字格式可让您控制单元格中数字、日期、时间和其他数据的显示方式,从而提高可读性并确保数据的准确性。有了数据格式,你就可以用百分比或货币等特定格式来显示信息。同样,数字格式可让您自定义小数位和显示选项。

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


适用于Excel的C# NuGet库

安装使用 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

适用于Excel的C# NuGet库

安装使用 NuGet

Install-Package IronXL.Excel
Java PDF JAR

下载 DLL

下载DLL

手动安装到你的项目中

开始在您的项目中使用IronPDF,并立即获取免费试用。

第一步:
green arrow pointer

查看 IronXLNuget 用于快速安装和部署。它有超过800万次下载,正在使用C#改变Excel。

适用于Excel的C# NuGet库 nuget.org/packages/IronXL.Excel/
Install-Package IronXL.Excel

考虑安装 IronXL DLL 直接。下载并手动安装到您的项目或GAC表单中: IronXL.zip

手动安装到你的项目中

下载DLL

设置单元格数据格式示例

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#

可用的内置数据格式

对于 Duration 类型,输入值以天为单位。例如,1 天等于 24 小时,1.05 天等于 25 小时 12 分钟。以下是可用的格式类型:

所有可用数据格式

说明

  • 一般:默认格式,按数字原样显示,无任何特定格式。
  • Duration1:以分和秒为单位显示持续时间值,如 "mm:ss"。输入值属性的数字将被视为天数。
  • Duration2:显示以小时、分钟和秒为单位的持续时间值,如" "。[h]:mm:ss"。
  • 持续时间3:以分、秒和毫秒为单位显示持续时间值,如 "mm:ss.0"。
  • Accounting0:格式化不含小数点的会计数值,负值使用括号,如 "#,##0_"。);(#,##0)."
  • Accounting0Red:格式化不含小数点的会计数值,负值用红色表示,如 "#,##0_"。)红色
  • Accounting2:将会计数值格式化为两位小数,负值使用括号,如 "#,##0.00;(#,##0.00)."
  • Accounting2Red:用两位小数格式化会计数值,负值用红色表示,如 "#,##0.00_"。)红色
  • Time1:将时间值格式化为 12 小时时钟格式(上午/下午),如 "h:mm AM/PM"。
  • 时间 2:用 12 小时时钟格式(带秒和上午/下午)格式化时间值,如 "h:mm:ss 上午/下午"。
  • 时间 3:用 24 小时时钟格式(不含秒)格式化时间值,如 "h:mm"。
  • 时间 4:将时间值以 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"。
  • 科学2:用科学记数法格式化数字,点后两位数,如 "0.00E+00"。
  • Percent:格式化不带小数点的百分比值,如 "0%"。
  • Percent2:格式化带有两位小数的百分比值,如 "0.00%"。
  • Currency0:格式化不带小数位的货币值,负值使用括号,如"$#,##0_"。);($#,##0)."
  • Currency0Red:格式化不含小数点的货币值,负值用红色表示,如"$#,##0_"。)红色
  • Currency2:用两位小数格式化货币值,负值使用括号,如"$#,##0.00";($#,##0.00)."
  • Currency2Red:用两位小数格式化货币值,负值用红色表示,如"$#,##0.00_"。)红色
  • Thousands0:用千位分隔符格式化数字,不含小数点,如 "#,##0"。
  • Thousands2:使用千位分隔符和两位小数来格式化数字,如 "#,##0.00"。
  • Number0:格式化不带小数位的数字,如 "0"。
  • Number2:格式化有两位小数的数字,如 "0.00"。
  • 文本:将文本值格式化为纯文本,如"@"。 (无特定格式).

查克尼特·宾

软件工程师

Chaknith 是开发者中的福尔摩斯。他第一次意识到自己可能在软件工程方面有前途,是在他出于乐趣做代码挑战的时候。他的重点是 IronXL 和 IronBarcode,但他为能帮助客户解决每一款产品的问题而感到自豪。Chaknith 利用他从直接与客户交谈中获得的知识,帮助进一步改进产品。他的轶事反馈不仅仅局限于 Jira 票据,还支持产品开发、文档编写和市场营销,从而提升客户的整体体验。当他不在办公室时,他可能会在学习机器学习、编程或徒步旅行。