Jak konwertować typy plików arkuszy kalkulacyjnych w języku C# za pomocą IronXL
IronXL umożliwia programistom C# konwersję arkuszy kalkulacyjnych między wieloma formatami, w tym XLS, XLSX, CSV, JSON, XML i HTML, przy użyciu prostych metod Load i SaveAs, usprawniając transformacje formatów plików w aplikacjach biznesowych.
IronXL obsługuje konwersję plików arkuszy kalkulacyjnych między różnymi formatami, w tym XLS, XLSX, XLSM, XLTX, CSV, TSV, JSON, XML i HTML. Obsługuje również typy danych w kodzie wbudowanym, takie jak ciągi HTML, dane binarne, tablice bajtów, zestawy danych (DataSets) i strumienie pamięci (MemoryStreams). Metoda Load jest używana do otwierania pliku arkusza kalkulacyjnego, a metoda SaveAs służy do eksportu arkusza do żądanego typu pliku.
Ta elastyczność sprawia, że IronXL jest niezbędnym narzędziem dla programistów .NET pracujących z plikami Excel w języku C# na różnych platformach i w różnych aplikacjach. Niezależnie od tego, czy tworzysz narzędzia do migracji danych, systemy raportowania czy aplikacje do analizy biznesowej, możliwość płynnej konwersji między formatami zapewnia zgodność z różnymi systemami i wymaganiami użytkowników.
Szybki start: Konwersja arkusza kalkulacyjnego Excel do formatu JSON
Za pomocą jednej prostej linii kodu IronXL pozwala załadować plik Excel i wyeksportować go jako JSON — bez skomplikowanej konfiguracji, tylko szybkie wyniki. To idealny przykład na początek dla programistów potrzebujących szybkiej konwersji typów plików.
-
Install IronXL with NuGet Package Manager
PM > Install-Package IronXl.Excel -
Skopiuj i uruchom ten fragment kodu.
IronXl.WorkBook.Load("input.xlsx").SaveAsJson("output.json"); -
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)
- Zainstaluj bibliotekę C# do konwersji plików Excel na inne formaty plików
- Use the `WorkBook` class to load or create new XLS or XLSX
- Wyświetlanie, dodawanie lub modyfikowanie danych w arkuszu kalkulacyjnym Excel przy użyciu języka C#
- Utilize the methods in the `WorkBook` class to export the spreadsheet
- Sprawdź wyeksportowany plik w podanym katalogu
Jak konwertować typy plików arkuszy kalkulacyjnych?
Proces konwersji typów arkuszy kalkulacyjnych polega na załadowaniu pliku w jednym z obsługiwanych formatów i wyeksportowaniu go do innego formatu przy użyciu inteligentnych funkcji restrukturyzacji danych IronXL. Ten proces konwersji zachowuje integralność danych, dostosowując się jednocześnie do wymagań strukturalnych każdego formatu docelowego.
Choć metoda SaveAs może być używana do eksportu do formatów CSV, JSON, XML oraz HTML, zaleca się używanie dedykowanych metod dla każdego ze formatów plików:
SaveAsCsv- Optymalizowane dla wartości oddzielanych przecinkami z odpowiednim zabezpieczaniemSaveAsJson- Tworzy poprawnie sformatowane JSON z zachowaniem typów danychSaveAsXml- Generuje poprawnie utworzone XML z odpowiednim schematemExportToHtml- Produkuje stylizowane tabele HTML z zachowaniem formatowania
fileName.sheetName.format. W poniższym przykładzie wyjście dla formatu CSV byłoby sample.new_sheet.csv.:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format.cs
using IronXL;
// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("sample.xlsx");
// Convert and save as CSV
workbook.SaveAsCsv("sample.csv");
// Convert and save as JSON
workbook.SaveAsJson("sample.json");
// Convert and save as XML
workbook.SaveAsXml("sample.xml");
// Convert and export to HTML
workbook.ExportToHtml("sample.html");
// The files will be saved in the project's directory with the specified formats
Imports IronXL
' Load the Excel spreadsheet
Dim workbook As WorkBook = WorkBook.Load("sample.xlsx")
' Convert and save as CSV
workbook.SaveAsCsv("sample.csv")
' Convert and save as JSON
workbook.SaveAsJson("sample.json")
' Convert and save as XML
workbook.SaveAsXml("sample.xml")
' Convert and export to HTML
workbook.ExportToHtml("sample.html")
' The files will be saved in the project's directory with the specified formats
Każda metoda eksportu jest zoptymalizowana pod kątem docelowego formatu. Na przykład konwersja plików XLSX do formatu CSV prawidłowo obsługuje znaki specjalne i separatory, a eksport do formatu JSON zachowuje typy danych i struktury hierarchiczne.
Kiedy należy używać poszczególnych formatów?
Zrozumienie, kiedy należy używać poszczególnych formatów plików, ma kluczowe znaczenie dla aplikacji biznesowych:
- CSV/TSV: Najlepsze rozwiązanie w przypadku prostych danych tabelarycznych, importu baz danych lub gdy potrzebna jest maksymalna kompatybilność z innymi aplikacjami
- JSON: Idealny do usług internetowych, interfejsów API REST i nowoczesnych aplikacji JavaScript
- XML: Nadaje się do wymiany danych strukturalnych, plików konfiguracyjnych i integracji starszych systemów
- HTML: Idealny do wyświetlania danych na stronach internetowych lub generowania raportów do dystrybucji pocztą elektroniczną
Jakie zaawansowane opcje konwersji są dostępne?
W poprzedniej sekcji omówiliśmy najpopularniejsze formaty plików do konwersji. Jednak IronXL ma możliwość konwersji arkuszy kalkulacyjnych do wielu innych formatów. Poznaj wszystkie dostępne opcje ładowania i eksportowania arkuszy kalkulacyjnych, w tym zaawansowane scenariusze, takie jak eksport do DataSet i DataTable w celu operacji na bazie danych.
Jakie formaty plików mogę wczytać?
- XLS, XLSX, XLSM i XLTX
- CSV (wartości rozdzielone przecinkami)
- TSV (wartości rozdzielone tabulatorami)
Do jakich formatów mogę eksportować?
- XLS, XLSX i XLSM
- CSV i TSV
- JSON
- XML
- HTML
-
Typy danych w kodzie wbudowanym:
- Ciąg znaków HTML
- Tablica binarna i tablica bajtów
- DataSet: Eksportowanie Excela do obiektów
System.Data.DataSetiSystem.Data.DataTableumożliwia łatwą współpracę i integrację z DataGridami, SQL i EF. - MemoryStream
Typy danych kodu wbudowanego mogą być wysyłane jako odpowiedź RESTful API lub używane z IronPDF w celu konwersji ich do dokumentu PDF. Ta elastyczność jest szczególnie przydatna podczas dynamicznego tworzenia arkuszy kalkulacyjnych w aplikacjach internetowych.
:path=/static-assets/excel/content-code-examples/how-to/convert-spreadsheet-file-types-different-format-advanced.cs
using IronXL;
// Load the Excel spreadsheet
WorkBook workbook = WorkBook.Load("advanced_sample.xlsx");
// Convert and save to various formats
workbook.SaveAs("advanced_sample.xlsm");
workbook.SaveAsCsv("advanced_sample.csv");
workbook.SaveAsJson("advanced_sample.json");
workbook.SaveAsXml("advanced_sample.xml");
workbook.ExportToHtml("advanced_sample.html");
// You can also convert to binary or byte array for advanced uses
byte[] excelAsByteArray = workbook.ToBinary();
Imports IronXL
' Load the Excel spreadsheet
Dim workbook As WorkBook = WorkBook.Load("advanced_sample.xlsx")
' Convert and save to various formats
workbook.SaveAs("advanced_sample.xlsm")
workbook.SaveAsCsv("advanced_sample.csv")
workbook.SaveAsJson("advanced_sample.json")
workbook.SaveAsXml("advanced_sample.xml")
workbook.ExportToHtml("advanced_sample.html")
' You can also convert to binary or byte array for advanced uses
Dim excelAsByteArray As Byte() = workbook.ToBinary()
Powyższy kod ładuje zwykły plik XLSX, a następnie konwertuje go i eksportuje do kilku formatów. Aby zapoznać się z obszernymi przykładami konwersji plików, odwiedź naszą stronę z przykładami konwersji.
Jak wygląda przetworzony wynik?
Poniżej przedstawiono różne wyeksportowane pliki.
Najlepsze praktyki dotyczące konwersji plików
Podczas konwersji plików arkuszy kalkulacyjnych należy wziąć pod uwagę poniższe najlepsze praktyki, aby zapewnić optymalne wyniki:
-
Zachowanie integralności danych: Należy zawsze sprawdzić, czy po konwersji zachowane zostały kluczowe dane, formuły i formatowanie. Niektóre formaty, takie jak CSV, nie obsługują wielu arkuszy ani formatowania.
-
Efektywne przetwarzanie dużych plików: W przypadku dużych arkuszy kalkulacyjnych warto rozważyć zastosowanie metod strumieniowych lub przetwarzanie danych w partiach, aby efektywnie zarządzać wykorzystaniem pamięci.
- Obsługa błędów: Wprowadź odpowiednią obsługę błędów, aby wychwycić niepowodzenia konwersji:
try
{
WorkBook workbook = WorkBook.Load("input.xlsx");
// Check if the file has data before converting
if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
{
workbook.SaveAsCsv("output.csv");
Console.WriteLine("Conversion successful!");
}
else
{
Console.WriteLine("No data found in the spreadsheet.");
}
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed: {ex.Message}");
}
try
{
WorkBook workbook = WorkBook.Load("input.xlsx");
// Check if the file has data before converting
if (workbook.WorkSheets.Count > 0 && workbook.DefaultWorkSheet.RowCount > 0)
{
workbook.SaveAsCsv("output.csv");
Console.WriteLine("Conversion successful!");
}
else
{
Console.WriteLine("No data found in the spreadsheet.");
}
}
catch (Exception ex)
{
Console.WriteLine($"Conversion failed: {ex.Message}");
}
Imports System
Try
Dim workbook As WorkBook = WorkBook.Load("input.xlsx")
' Check if the file has data before converting
If workbook.WorkSheets.Count > 0 AndAlso workbook.DefaultWorkSheet.RowCount > 0 Then
workbook.SaveAsCsv("output.csv")
Console.WriteLine("Conversion successful!")
Else
Console.WriteLine("No data found in the spreadsheet.")
End If
Catch ex As Exception
Console.WriteLine($"Conversion failed: {ex.Message}")
End Try
-
Wybierz odpowiedni format: Wybierz format wyjściowy w oparciu o swoje konkretne potrzeby:
- Użyj
XLSXdla pełnej funkcjonalności Excela - Wybierz
CSVdla prostego transferu danych - Wybierz
JSONdla aplikacji webowych i API - Wybierz
XMLdla strukturalnych danych ze schematami - Eksportuj do
HTMLdla wyświetlania w sieci
- Użyj
- Kodowanie znaków: Należy zwrócić uwagę na kodowanie znaków, zwłaszcza w przypadku danych międzynarodowych. IronXL obsługuje kodowanie
UTF-8domyślnie, zapewniając poprawną reprezentację znaków na różnych systemach.
Aby uzyskać bardziej szczegółowe wskazówki dotyczące pracy z plikami Excel w aplikacjach .NET, zapoznaj się z obszerną dokumentacją IronXL.
Często Zadawane Pytania
Jak przekonwertować pliki Excel do formatu CSV w C#?
Z IronXL można konwertować pliki Excel do CSV za pomocą metody SaveAsCsv. Wystarczy wczytać plik Excel za pomocą WorkBook.Load() i następnie wywołać SaveAsCsv(), aby go wyeksportować. IronXL automatycznie obsługuje właściwe znakowanie i formatowanie, tworząc osobny plik CSV dla każdego arkusza w pliku Excel.
Czy mogę jednocześnie przekonwertować wiele arkuszy Excel na JSON?
Tak, IronXL automatycznie konwertuje wszystkie arkusze podczas eksportu do formatu JSON. Kiedy używasz metody SaveAsJson, IronXL tworzy osobne pliki JSON dla każdego arkusza, stosując konwencję nazewniczą fileName.sheetName.json, zachowując typy danych i strukturę z każdego arkusza.
Jakie formaty plików arkuszy kalkulacyjnych są obsługiwane do konwersji?
IronXL obsługuje konwersję między wieloma formatami, w tym XLS, XLSX, XLSM, XLTX, CSV, TSV, JSON, XML i HTML. Dodatkowo obsługuje dane kodowe inline, takie jak ciągi HTML, dane binarne, tablice bajtów, DataSets i MemoryStreams, zapewniając maksymalną elastyczność w aplikacjach C#.
Jak mogę zachować formatowanie Excel podczas konwersji do HTML?
Podczas konwersji Excel do HTML użyj metody ExportToHtml IronXL zamiast ogólnej SaveAs. Ta dedykowana metoda tworzy stylizowane tabele HTML, które zachowują formatowanie z oryginalnego pliku Excel, zapewniając spójność prezentacji danych w różnych formatach.
Czy można konwertować pliki Excel bez zainstalowanego Microsoft Office?
Tak, IronXL działa niezależnie, nie wymagając Microsoft Office ani Excel Interop. Zapewnia samodzielne rozwiązanie do konwersji plików Excel w C#, co czyni go idealnym dla środowisk serwerowych i aplikacji, gdzie instalacja Office nie jest możliwa.
Jaki jest najprostszy sposób na przekonwertowanie pliku Excel na inny format?
Najprostsze podejście z IronXL to użycie jednej linii kodu: IronXl.WorkBook.Load("input.xlsx").SaveAsJson("output.json"). Ładuje to plik Excel i natychmiast eksportuje do żądanego formatu - zamień SaveAsJson na SaveAsCsv, SaveAsXml lub ExportToHtml według potrzeb.

