IronXL How-Tos Set Cell Data Formats How to Set Cell Data Formats Chaknith Bin Updated:July 28, 2025 Data formatting and number formatting in Excel allow you to control how numbers, dates, times, and other data are displayed in cells, enhancing readability and ensuring data accuracy. With data formats, you can present information in specific formats like percentages or currencies. Similarly, number formats let you customize decimal places and display options. The IronXL library allows you to set data formats or number formats in C#. This library simplifies the process of creating, formatting, and manipulating Excel files programmatically, making it a valuable tool for data handling and presentation tasks in C# applications. How to Set Cell Data Formats Download the C# library to set data format Open existing or create a new Excel spreadsheet Set the FormatString property of the cell, column, row, or range to the desired data format Use the built-in data format with BuiltinFormats class Export the edited spreadsheet in various file types Get started with IronXL Start using IronXL in your project today with a free trial. First Step: Start for Free Set Cell Data Formats Example The FormatString property can be accessed through both cells and ranges. Therefore, it is possible to set data formats for individual cells, columns, rows, and any selected range. :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 Set Cell Value as String When setting the value in IronXL, use StringValue instead of Value to directly assign the exact value to the cell without automatic conversion. This usage is like placing an apostrophe before the cell value in 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 Use Builtin Formats Example The IronXL library offers a variety of predefined format strings that can be accessed through the IronXL.Formatting.BuiltinFormats class for formatting Excel cells. This allows you to customize how data is displayed in your Excel spreadsheets. :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 Available Builtin Data Formats For the Duration type, input values are represented in days. For example, 1 day is equal to 24 hours, and 1.05 days is equivalent to 25 hours and 12 minutes. Here are the available format types: Description General: The default format that displays numbers as they are without any specific formatting. Duration1: Displays duration values in minutes and seconds, like "mm:ss." Number input into the Value property will be considered as days. Duration2: Displays duration values in hours, minutes, and seconds, like "[h]:mm:ss." Duration3: Displays duration values in minutes, seconds, and milliseconds, like "mm:ss.0." Accounting0: Formats accounting values without decimal digits, using parentheses for negative values, like "#,##0_);(#,##0)." Accounting0Red: Formats accounting values without decimal digits, using red color for negative values, like "#,##0_);Red." Accounting2: Formats accounting values with two decimal digits, using parentheses for negative values, like "#,##0.00;(#,##0.00)." Accounting2Red: Formats accounting values with two decimal digits, using red color for negative values, like "#,##0.00_);Red." Time1: Formats time values in 12-hour clock format with AM/PM, like "h:mm AM/PM." Time2: Formats time values in 12-hour clock format with seconds and AM/PM, like "h:mm:ss AM/PM." Time3: Formats time values in 24-hour clock format without seconds, like "h:mm." Time4: Formats time values in 24-hour clock format with seconds, like "h:mm:ss." ShortDate: Formats date values in a short format, like "m/d/yy." ShortDateAndTime: Formats date and time values in a short format, like "m/d/yy h:mm." LongDate1: Formats date values in a long format with month, day, and year, like "d-mmm-yy." LongDate2: Formats date values in a long format with day and abbreviated month, like "d-mmm." LongDate3: Formats date values in a long format with abbreviated month and year, like "mmm-yy." Fraction1: Formats fractional values with one digit, like "# ?/?." Fraction2: Formats fractional values with two digits, like "# ??/??." Scientific1: Formats numbers in scientific notation with one digit after the dot, like "##0.0E+0." Scientific2: Formats numbers in scientific notation with two digits after the dot, like "0.00E+00." Percent: Formats percentage values without decimal digits, like "0%." Percent2: Formats percentage values with two decimal digits, like "0.00%." Currency0: Formats currency values without decimal digits, using parentheses for negative values, like "$#,##0_);($#,##0)." Currency0Red: Formats currency values without decimal digits, using red color for negative values, like "$#,##0_);Red." Currency2: Formats currency values with two decimal digits, using parentheses for negative values, like "$#,##0.00;($#,##0.00)." Currency2Red: Formats currency values with two decimal digits, using red color for negative values, like "$#,##0.00_);Red." Thousands0: Formats numbers with thousands separator and no decimal digits, like "#,##0." Thousands2: Formats numbers with thousands separator and two decimal digits, like "#,##0.00." Number0: Formats numbers without decimal digits, like "0." Number2: Formats numbers with two decimal digits, like "0.00." Text: Formats text values as plain text, like "@" (no specific formatting applied). Frequently Asked Questions How can I set cell data formats in Excel using C#? You can set cell data formats in Excel using IronXL by accessing a worksheet and setting the FormatString property of a cell. This allows for customization of how data is displayed, such as numbers, dates, and times, without using Interop. What are the benefits of using a C# library for Excel data formatting? Using a C# library like IronXL for Excel data formatting allows you to programmatically control the appearance of data, enhance readability, ensure data accuracy, and avoid the complexities of using Interop. It simplifies tasks such as setting number formats, dates, and custom formats. How do I apply a custom number format to a cell in Excel with C#? To apply a custom number format to a cell using IronXL, load your Excel workbook, access the worksheet, and set the FormatString property of the cell to the desired custom format. For example, to display a number as a percentage, use sheet["A1"].FormatString = "0.00%". Can I preserve leading zeros in Excel cells using a C# library? Yes, with IronXL, you can preserve leading zeros by using the StringValue property when setting a cell's value. This approach prevents automatic conversion and retains the leading zeros in the cell. How do I format Excel cells with accounting styles using C#? To format Excel cells with accounting styles using IronXL, utilize the BuiltinFormats class. For instance, you can apply an accounting format with two decimal places with sheet["C3"].FormatString = IronXL.Formatting.BuiltinFormats.Accounting2. What are some predefined data formats available in a C# library for Excel? IronXL provides predefined data formats such as accounting, duration, time, date, fraction, scientific, percentage, currency, and number. These built-in formats simplify the customization of data presentation in Excel spreadsheets. How can I display negative currency values in red in Excel using C#? To display negative currency values in red using IronXL, set the FormatString property to a currency format that includes red for negatives, such as Currency0Red or Currency2Red. For example: sheet["B4"].FormatString = IronXL.Formatting.BuiltinFormats.Currency2Red. What is the difference between Number0 and Number2 formats in IronXL? In IronXL, the Number0 format displays numbers without decimal digits, while the Number2 format displays numbers with two decimal digits. These formats help customize the precision of numerical data in Excel sheets. How do I save changes to an Excel workbook after formatting it using C#? To save changes to an Excel workbook after formatting it with IronXL, use the SaveAs method on the WorkBook object. Specify the desired file name and format to save the updated workbook. What are some troubleshooting tips for setting data formats in Excel using a C# library? When setting data formats in Excel using IronXL, ensure that the library is correctly integrated, verify the format strings used are accurate, and check for any exceptions during the workbook saving process. Also, consider using the StringValue property for precise data entry. Chaknith Bin Chat with engineering team now Software Engineer Chaknith works on IronXL and IronBarcode. He has deep expertise in C# and .NET, helping improve the software and support customers. His insights from user interactions contribute to better products, documentation, and overall experience. Ready to Get Started? Free NuGet Download Total downloads: 1,558,208 View Licenses