Jak przekonwertować pliki arkuszy kalkulacyjnych na JSON, CSV, XML i więcej z IronXL w C#

Jak konwertować typy plików arkuszy kalkulacyjnych w języku C# za pomocą IronXL

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

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.

  1. Install IronXL with NuGet Package Manager

    PM > Install-Package IronXl.Excel
  2. Skopiuj i uruchom ten fragment kodu.

    IronXl.WorkBook.Load("input.xlsx").SaveAsJson("output.json");
  3. Wdrożenie do testowania w środowisku produkcyjnym

    Rozpocznij używanie IronXL w swoim projekcie już dziś z darmową wersją próbną

    arrow pointer


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 zabezpieczaniem
  • SaveAsJson - Tworzy poprawnie sformatowane JSON z zachowaniem typów danych
  • SaveAsXml - Generuje poprawnie utworzone XML z odpowiednim schematem
  • ExportToHtml - Produkuje stylizowane tabele HTML z zachowaniem formatowania

Zwróć uwagęW przypadku formatów plików CSV, TSV, JSON i XML dla każdego arkusza zostanie utworzony osobny plik. Konwencja nazewnictwa podąża według formatu 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
$vbLabelText   $csharpLabel

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.DataSet i System.Data.DataTable umoż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()
$vbLabelText   $csharpLabel

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?

Arkusz kalkulacyjny Excel zawierający bazę danych pracowników z danymi dotyczącymi wynagrodzeń, danych demograficznych i lokalizacji w wielu kolumnach
Plik XLSX

Poniżej przedstawiono różne wyeksportowane pliki.

Plik TSV z danymi pracowników zawierający kolumny z identyfikatorem, imieniem i nazwiskiem, stanowiskiem, działem, wynagrodzeniem oraz danymi demograficznymi w edytorze tekstu
Eksport plików TSV
Plik CSV z danymi pracowników zawierający kolumny: ID, imię i nazwisko, stanowisko, dział, wynagrodzenie oraz lokalizacja w edytorze kodu
Eksport pliku CSV
Edytor VS Code wyświetlający plik danych pracowników w formacie JSON z polami nagłówkowymi i przykładowymi rekordami, w tym identyfikatorem, imieniem i nazwiskiem oraz stanowiskiem
Eksport pliku JSON
Plik XML przedstawiający strukturę danych pracowników z kolumnami dla identyfikatora, imienia i nazwiska, stanowiska, działu oraz innych pól kadrowych
Eksport plików XML
Arkusz kalkulacyjny z bazą danych pracowników zawierający dane osobowe, w tym identyfikatory, imiona i nazwiska, stanowiska, działy, dane demograficzne oraz wynagrodzenia
Eksport pliku HTML

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:

  1. 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.

  2. 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.

  3. 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
$vbLabelText   $csharpLabel
  1. Wybierz odpowiedni format: Wybierz format wyjściowy w oparciu o swoje konkretne potrzeby:

    • Użyj XLSX dla pełnej funkcjonalności Excela
    • Wybierz CSV dla prostego transferu danych
    • Wybierz JSON dla aplikacji webowych i API
    • Wybierz XML dla strukturalnych danych ze schematami
    • Eksportuj do HTML dla wyświetlania w sieci
  2. Kodowanie znaków: Należy zwrócić uwagę na kodowanie znaków, zwłaszcza w przypadku danych międzynarodowych. IronXL obsługuje kodowanie UTF-8 domyś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.

Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podrę...

Czytaj więcej
Gotowy, aby rozpocząć?
Nuget Pliki do pobrania 1,950,735 | Wersja: 2026.4 just released
Still Scrolling Icon

Wciąż przewijasz?

Czy chcesz szybko dowodu? PM > Install-Package IronXl.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.