Jak ustawić formaty danych komórek w języku C# za pomocą IronXL
IronXL umożliwia formatowanie komórek Excela za pomocą wbudowanych formatów danych, takich jak waluty, procenty, daty oraz niestandardowe formaty liczb poprzez ustawienie właściwości FormatString w komórkach lub zakresach bez zależności od Interop.
Szybki start: Zastosowanie wbudowanego formatowania do pojedynczej komórki w jednym wierszu
Ten przykład pokazuje, jak utworzyć nowy skoroszyt programu Excel i zastosować wbudowany format do określonej komórki przy użyciu interfejsu API IronXL. Nie potrzeba zależności od Interop—wystarczy ustawić FormatString i zapisać.
-
Install IronXL with NuGet Package Manager
PM > Install-Package IronXl.Excel -
Skopiuj i uruchom ten fragment kodu.
IronXl.WorkBook book = IronXl.WorkBook.Create(); book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2; -
Wdrożenie do testowania w środowisku produkcyjnym
Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną
Minimalny proces (5 kroków)
- Pobierz bibliotekę C#, aby ustawić format danych
- Otwórz istniejący lub utwórz nowy arkusz kalkulacyjny Excel
- Ustaw właściwość
FormatStringkomórki, kolumny, wiersza lub zakresu na żądany format danych - Użyj wbudowanego formatu danych za pomocą klasy
BuiltinFormats - Eksportuj edytowany arkusz kalkulacyjny w różnych formatach plików
Jak ustawić formaty danych komórek w programie Excel?
Właściwość FormatString może być uzyskana zarówno poprzez komórki, jak i zakresy. Dlatego możliwe jest ustawienie formatów danych dla poszczególnych komórek, kolumn, wierszy i dowolnego zaznaczonego zakresu. Ta elastyczność sprawia, że IronXL jest szczególnie potężnym narzędziem, gdy trzeba pracować z plikami Excel w języku C# bez użycia Interop.
Formatowanie danych jest niezbędne do przejrzystego przedstawienia informacji w arkuszach kalkulacyjnych. Niezależnie od tego, czy tworzysz raporty finansowe z wartościami walutowymi, dane naukowe z precyzyjnymi miejscami po przecinku, czy analizy oparte na datach, odpowiednie formatowanie zapewnia, że Twoje dane są zarówno czytelne, jak i profesjonalne. IronXL upraszcza ten proces, zapewniając bezpośredni dostęp do silnika formatowania programu Excel za pośrednictwem prostego interfejsu API.
: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")
Jak ustawić wartości komórek jako ciągi znaków bez konwersji?
Podczas ustawiania wartości w IronXL, użyj StringValue zamiast Value, aby bezpośrednio przypisać dokładną wartość do komórki bez automatycznej konwersji. Działa to tak samo, jak umieszczenie apostrofu przed wartością komórki w programie Excel. Technika ta jest szczególnie przydatna podczas pracy z kodami produktów, numerami telefonów lub innymi danymi, które powinny pozostać w postaci tekstu. Aby uzyskać więcej informacji na temat zaawansowanej manipulacji ciągami znaków, zapoznaj się z instrukcją zapisywania wartości z Excela w .NET.
: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"
Jak korzystać z wbudowanych formatów w IronXL?
Biblioteka IronXL oferuje wiele predefiniowanych łańcuchów formatów, które można uzyskać za pomocą klasy IronXl.Formatting.BuiltinFormats do formatowania komórek Excela. Pozwala to dostosować sposób wyświetlania danych w arkuszach kalkulacyjnych programu Excel. Te wbudowane formaty obejmują najczęstsze scenariusze biznesowe i są kompatybilne ze wszystkimi wersjami programu Excel.
Podczas programowego tworzenia arkuszy kalkulacyjnych stosowanie spójnego formatowania ma kluczowe znaczenie dla zachowania profesjonalnych standardów w dokumentach. Klasa BuiltinFormats zapewnia ponad 30 wstępnie skonfigurowanych wzorców formatów, które odpowiadają standardowym opcjom formatowania Excela.
: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")
Jakie wbudowane formaty danych są dostępne?
Dla typu Duration wartości wejściowe są reprezentowane w dniach. Na przykład 1 dzień to 24 godziny, a 1,05 dnia to 25 godzin i 12 minut. Jest to szczególnie przydatne podczas pracy z danymi programu Excel, które dotyczą śledzenia czasu pracy lub zarządzania projektami. Oto dostępne typy formatów:
Do czego służą poszczególne typy formatów?
General: Domyślny format wyświetlający liczby bez określonego formatowania.Duration1: Pokazuje czas trwania w minutach i sekundach jak "mm:ss."Duration2: Pokazuje czas trwania w godzinach, minutach i sekundach jak "[h]:mm:ss."Duration3: Pokazuje czas trwania w minutach, sekundach i milisekundach jak "mm:ss.0."Accounting0: Format księgowy bez dziesiętnych, nawiasy dla liczb ujemnych jak "#,##0_);(#,##0)."Accounting0Red: Format księgowy bez dziesiętnych, czerwony dla liczb ujemnych jak "#,##0_);Red."Accounting2: Format księgowy z dwiema dziesiętnymi, nawiasy dla liczb ujemnych jak "#,##0.00;(#,##0.00)."Accounting2Red: Format księgowy z dwiema dziesiętnymi, czerwony dla liczb ujemnych jak "#,##0.00_);Red."Time1: 12-godzinny format z AM/PM jak "h:mm AM/PM."Time2: 12-godzinny format z sekundami i AM/PM jak "h:mm:ss AM/PM."Time3: 24-godzinny format bez sekund jak "h:mm."Time4: 24-godzinny format z sekundami jak "h:mm:ss."ShortDate: Krótki format daty jak "m/d/yy."ShortDateAndTime: Krótki format daty i czasu jak "m/d/yy h:mm."LongDate1: Długa data z miesiącem, dniem, rokiem jak "d-mmm-yy."LongDate2: Długa data z dniem i skróconym miesiącem jak "d-mmm."LongDate3: Długa data ze skróconym miesiącem i rokiem jak "mmm-yy."Fraction1: Wartość ułamkowa z jedną cyfrą jak "# ?/?".Fraction2: Wartość ułamkowa z dwiema cyframi jak "# ??/??."Scientific1: Notacja naukowa z jedną dziesiętną jak "##0.0E+0."Scientific2: Notacja naukowa z dwiema dziesiętnymi jak "0.00E+00."Percent: Procent bez dziesiętnych jak "0%".Percent2: Procent z dwiema dziesiętnymi jak "0.00%".Currency0: Waluta bez dziesiętnych, nawiasy dla liczb ujemnych jak "$#,##0_);($#,##0)."Currency0Red: Waluta bez dziesiętnych, czerwony dla liczb ujemnych jak "$#,##0_);Red."Currency2: Waluta z dwiema dziesiętnymi, nawiasy dla liczb ujemnych jak "$#,##0.00;($#,##0.00)."Currency2Red: Waluta z dwiema dziesiętnymi, czerwony dla liczb ujemnych jak "$#,##0.00_);Red."Thousands0: Liczby z separatorem tysięcznym, bez dziesiętnych jak "#,##0."Thousands2: Liczby z separatorem tysięcznym, dwie dziesiętne jak "#,##0.00."Number0: Liczby bez dziesiętnych jak "0."Number2: Liczby z dwiema dziesiętnymi jak "0.00."Text: Format zwykłego tekstu jak "@."
Formatowanie danych i formatowanie liczb w programie Excel kontroluje sposób wyświetlania liczb, dat, godzin i innych danych w komórkach, poprawiając czytelność i zapewniając dokładność danych. Dzięki formatom danych możesz przedstawiać informacje w określonych formatach, takich jak wartości procentowe lub waluty. Podobnie formaty liczb pozwalają dostosować liczbę miejsc po przecinku i opcje wyświetlania.
Jak zastosować wiele formatów do różnych zakresów?
W rzeczywistych zastosowaniach często trzeba zastosować różne formaty do różnych części arkusza kalkulacyjnego. Ten przykład pokazuje formatowanie raportu finansowego zawierającego wiele typów danych. Takie podejście jest szczególnie przydatne podczas eksportowania do programu Excel w języku C# z baz danych lub innych źródeł danych:
using IronXL;
using IronXl.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
using IronXL;
using IronXl.Formatting;
using System;
// Create a financial report with multiple formats
WorkBook workBook = WorkBook.Create();
WorkSheet workSheet = workBook.DefaultWorkSheet;
// Headers
workSheet["A1"].Value = "Financial Report Q4 2023";
workSheet["A1"].Style.Font.Bold = true;
// Revenue section with currency formatting
workSheet["A3"].Value = "Revenue";
workSheet["B3"].Value = 2500000;
workSheet["B3"].FormatString = BuiltinFormats.Currency0;
// Growth percentage
workSheet["A4"].Value = "YoY Growth";
workSheet["B4"].Value = 0.157;
workSheet["B4"].FormatString = BuiltinFormats.Percent2;
// Date formatting
workSheet["A6"].Value = "Report Date";
workSheet["B6"].Value = DateTime.Now;
workSheet["B6"].FormatString = BuiltinFormats.LongDate1;
// Apply accounting format to expense columns
IronXl.Range expenseRange = workSheet["B8:B12"];
expenseRange.FormatString = BuiltinFormats.Accounting2Red;
// Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx");
Imports IronXL
Imports IronXl.Formatting
Imports System
' Create a financial report with multiple formats
Dim workBook As WorkBook = WorkBook.Create()
Dim workSheet As WorkSheet = workBook.DefaultWorkSheet
' Headers
workSheet("A1").Value = "Financial Report Q4 2023"
workSheet("A1").Style.Font.Bold = True
' Revenue section with currency formatting
workSheet("A3").Value = "Revenue"
workSheet("B3").Value = 2500000
workSheet("B3").FormatString = BuiltinFormats.Currency0
' Growth percentage
workSheet("A4").Value = "YoY Growth"
workSheet("B4").Value = 0.157
workSheet("B4").FormatString = BuiltinFormats.Percent2
' Date formatting
workSheet("A6").Value = "Report Date"
workSheet("B6").Value = DateTime.Now
workSheet("B6").FormatString = BuiltinFormats.LongDate1
' Apply accounting format to expense columns
Dim expenseRange As IronXl.Range = workSheet("B8:B12")
expenseRange.FormatString = BuiltinFormats.Accounting2Red
' Save the formatted report
workBook.SaveAs("FinancialReport_Q4_2023.xlsx")
Ten przykład pokazuje, w jaki sposób różne typy formatów łączą się, tworząc profesjonalne dokumenty finansowe. Aby uzyskać bardziej zaawansowane opcje formatowania, w tym formatowanie warunkowe, można rozszerzyć te koncepcje.
Podczas pracy z dużymi zbiorami danych lub programowego tworzenia raportów kluczowe znaczenie ma spójne formatowanie. System formatowania IronXL płynnie integruje się z innymi funkcjami, takimi jak funkcje matematyczne i edycja formuł, umożliwiając tworzenie w pełni zautomatyzowanych rozwiązań do raportowania.
Dla programistów przechodzących z Office Interop lub poszukujących lepszej wydajności system formatowania IronXL zapewnia znaczną przewagę. W przeciwieństwie do tradycyjnych metod, można efektywnie formatować tysiące komórek bez obciążenia związanego z interoperacyjnością COM. Aby dowiedzieć się więcej o najlepszych praktykach w zakresie automatyzacji programu Excel, zapoznaj się z naszą obszerną dokumentacją dotyczącą programu Excel.
Często Zadawane Pytania
Jak formatowac komorki Excel w C# bez uzycia Interop?
IronXL oferuje prosty sposob na formatowanie komorek Excel bez zaleznosci Interop. Mozesz uzyc wlasciwosci FormatString dla komorek lub zakresow, aby zastosowac wbudowane formaty, takie jak waluta, procenty, daty i niestandardowe formaty liczbowe. Po prostu utworz lub otworz skoroszyt z IronXL i ustaw wlasciwosc FormatString na pozadany format.
Jaki jest najszybszy sposob zastosowania formatowania waluty do komorki?
Z IronXL mozesz zastosowac formatowanie waluty w zaledwie jednej linii kodu. Po utworzeniu skoroszytu, po prostu uzyj: book.DefaultWorkSheet["B2"].FormatString = IronXl.Formatting.BuiltinFormats.Currency2; To zastosuje wbudowany format waluty z 2 miejscami po przecinku do komorki B2.
Czy moge formatowac wiele komorek naraz?
Tak, IronXL pozwala na formatowanie pojedynczych komorek, calej kolumny, wierszy lub dowolnego wybranego zakresu za pomoca wlasciwosci FormatString. Ta elastycznosc ulatwia zastosowanie jednolitego formatowania w wielu komorkach arkusza kalkulacyjnego Excel bez koniecznosci iteracji przez kazda komorke oddzielnie.
Jak uniknac automatycznej konwersji danych przy ustawianiu wartosci komorki?
IronXL zapewnia wlasciwosc StringValue, aby ustawic wartosci komorek jako ciagi znakow bez automatycznej konwersji. Zamiast uzywac wlasciwosci Value, uzyj StringValue, aby przypisac dokladna wartosc do komorki. Dziala to podobnie do stawiania apostrofu przed wartoscia komorki w Excel i jest szczegolnie uzyteczne dla kodow produktow, numerow telefonow lub innych danych, ktore powinny pozostac w formie tekstowej.
Jakie sa dostepne opcje wbudowanych formatow?
IronXL oferuje obszerny zbior gotowych ciagow formatow za pomoca klasy IronXl.Formatting.BuiltinFormats. Obejmuja one rozne formaty walutowe, daty i czasu, wyswietlanie procentow, zapis naukowy i niestandardowe formaty liczbow. Pozwala to dostosowac sposob wyswietlania danych w arkuszach kalkulacyjnych Excel.
Czy musze zainstalowac Microsoft Excel, aby korzystac z funkcji formatowania komorek?
Nie, IronXL dziala niezaleznie, bez wymagania Microsoft Excel lub zaleznosci Interop. Biblioteka zawiera wlasny silnik formatowania, ktory bezposrednio manipuluje plikami Excel, co czyni go idealnym do zastosowania w srodowiskach serwerowych lub systemach, gdzie Excel nie jest zainstalowany.

