Jak konwertować pliki XLSX na CSV, JSON, XML i inne formaty w języku C

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

IronXL konwertuje pliki Excel do wielu formatów, w tym JSON, CSV, XML oraz starszych formatów Excel, takich jak XLS, przy użyciu prostych, jednowierszowych poleceń, które eliminują konieczność ręcznego parsowania.

IronXL konwertuje dowolny plik Excel do różnych formatów, zapewniając programistom narzędzia do pracy z Excelem w języku C# bez konieczności korzystania z Interop. Niezależnie od tego, czy chodzi o migrację danych między systemami, tworzenie eksportów danych dla aplikacji internetowych, czy integrację ze starszymi systemami, IronXL upraszcza proces konwersji.

Formaty te obejmują: JSON dla nowoczesnych interfejsów API, CSV do wymiany danych, XML do przechowywania danych strukturalnych oraz starsze formaty Excel, takie jak XLS, zapewniające kompatybilność wsteczną. Każdy format służy do konkretnych zastosowań — CSV sprawdza się dobrze przy importowaniu danych z baz, JSON integruje się z interfejsami API REST, a XML zachowuje hierarchiczne relacje między danymi.

W tym artykule pokazano, jak używać IronXL do konwersji do formatów XML, CSV, JSON oraz eksportowania arkuszy kalkulacyjnych Excel jako zestawów danych do bezpośredniej integracji z kontrolkami danych .NET.

Szybki start: Konwersja pliku XLSX do formatu CSV za pomocą jednego wiersza

Ten przykład pokazuje, jak IronXL konwertuje istniejący skoroszyt Excel na plik CSV w jednym wierszu. Załaduj swój skoroszyt i zapisz go bezpośrednio jako CSV, aby od razu rozpocząć pracę.

  1. Install IronXL with NuGet Package Manager

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

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

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

    arrow pointer

Krok 1

Jak zainstalować bibliotekę IronXL?

Najpierw zainstaluj IronXL, zanim zaczniesz go używać w swoich aplikacjach. IronXL obsługuje aplikacje .NET MAUI, Blazor oraz tradycyjne aplikacje .NET. Użyj jednej z tych metod instalacji:

Pobierz: https://ironsoftware.com/csharp/excel/docs/

Lub skorzystaj z menedżera pakietów NuGet:

  • Kliknij prawym przyciskiem myszy nazwę rozwiązania w Eksploratorze rozwiązań
  • Kliknij Zarządzaj pakietami NuGet
  • Wyszukaj IronXl.Excel
  • Zainstaluj
Install-Package IronXl.Excel

Poradnik "Jak to zrobić"

Jak mogę konwertować pliki Excel do różnych formatów?

IronXL oferuje funkcje konwersji, które automatycznie obsługują złożone parsowanie i formatowanie.

Dodaj następujący kod:

:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-csv-convert.cs
using IronXL;

// Load an existing Excel workbook
WorkBook workbook = WorkBook.Load("Normal_Excel_File.xlsx");

// Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx";

// Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls");
workbook.SaveAs("XLSX_Export.xlsx");
workbook.SaveAsCsv("CSV_Export.csv");
workbook.SaveAsJson("JSON_Export.json");
workbook.SaveAsXml("XML_Export.xml");

// Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
System.Data.DataSet dataSet = workbook.ToDataSet();
Imports IronXL

' Load an existing Excel workbook
Dim workbook As WorkBook = WorkBook.Load("Normal_Excel_File.xlsx")

' Set metadata title for the workbook
workbook.Metadata.Title = "Normal_Excel_File.xlsx"

' Save the workbook in different formats
workbook.SaveAs("XLS_Export.xls")
workbook.SaveAs("XLSX_Export.xlsx")
workbook.SaveAsCsv("CSV_Export.csv")
workbook.SaveAsJson("JSON_Export.json")
workbook.SaveAsXml("XML_Export.xml")

' Convert the workbook to a DataSet, allowing integration with other data tools like DataGridView
Dim dataSet As System.Data.DataSet = workbook.ToDataSet()
$vbLabelText   $csharpLabel

Powyższy kod ładuje plik XLSX, dodaje tytuł, a następnie konwertuje go do kilku formatów. Podczas konwersji do formatu CSV IronXL obsługuje znaki specjalne, komórki wielowierszowe oraz prawidłowe escapowanie. W przypadku eksportu do formatu JSON tworzy on ustrukturyzowaną reprezentację obiektową danych z arkusza kalkulacyjnego. Konwersja do formatu XML zachowuje formatowanie komórek i typy danych. Na koniec arkusz roboczy jest eksportowany jako zestaw danych (DataSet) do wykorzystania z obiektami DataGridView, co sprawdza się dobrze podczas pracy z tabelami danych (DataTables).

Oto kolejny przykład pokazujący, jak konwertować określone arkusze z opcjami niestandardowymi:

using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
using IronXL;

// Load workbook and select specific worksheet
WorkBook workbook = WorkBook.Load("MultiSheet.xlsx");
WorkSheet sheet = workbook.WorkSheets["SalesData"];

// Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter: ";");

// Export to JSON with formatting preserved
var jsonOptions = new JsonSaveOptions
{
    PreserveFormatting = true,
    IncludeHeaders = true
};
sheet.SaveAsJson("SalesData.json", jsonOptions);

// Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport");
Imports IronXL

' Load workbook and select specific worksheet
Dim workbook As WorkBook = WorkBook.Load("MultiSheet.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets("SalesData")

' Convert just one worksheet to CSV with custom delimiter
sheet.SaveAsCsv("SalesData.csv", delimiter:=";")

' Export to JSON with formatting preserved
Dim jsonOptions As New JsonSaveOptions With {
    .PreserveFormatting = True,
    .IncludeHeaders = True
}
sheet.SaveAsJson("SalesData.json", jsonOptions)

' Convert to XML with custom root element
sheet.SaveAsXml("SalesData.xml", "SalesReport")
$vbLabelText   $csharpLabel

W zaawansowanych scenariuszach można eksportować do wielu formatów jednocześnie lub efektywnie obsługiwać duże pliki:

using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
using IronXL;
using System.Threading.Tasks;

// Async conversion for large files
public async Task ConvertLargeFileAsync(string inputPath)
{
    WorkBook workbook = WorkBook.Load(inputPath);

    // Parallel export to multiple formats
    var tasks = new[]
    {
        Task.Run(() => workbook.SaveAsCsv("output.csv")),
        Task.Run(() => workbook.SaveAsJson("output.json")),
        Task.Run(() => workbook.SaveAsXml("output.xml"))
    };

    await Task.WhenAll(tasks);
}
Imports IronXL
Imports System.Threading.Tasks

' Async conversion for large files
Public Async Function ConvertLargeFileAsync(inputPath As String) As Task
    Dim workbook As WorkBook = WorkBook.Load(inputPath)

    ' Parallel export to multiple formats
    Dim tasks = New Task() {
        Task.Run(Sub() workbook.SaveAsCsv("output.csv")),
        Task.Run(Sub() workbook.SaveAsJson("output.json")),
        Task.Run(Sub() workbook.SaveAsXml("output.xml"))
    }

    Await Task.WhenAll(tasks)
End Function
$vbLabelText   $csharpLabel

Poniżej przedstawiono różne wyeksportowane pliki.

Eksport pliku CSV pokazujący wartości rozdzielone przecinkami w edytorze tekstu z prawidłowo escapowanymi danymi
Rysunek 1 - Eksport pliku CSV
Eksport XML przedstawiający strukturę hierarchiczną z prawidłowo sformatowanymi elementami i atrybutami reprezentującymi dane z programu Excel
Rysunek 2 - Eksport XML
Eksport JSON przedstawiający dane strukturalne w formacie notacji obiektowej JavaScript z prawidłowym zagnieżdżeniem i typami danych
Rysunek 3 - Eksport JSON
Eksport do formatu XLS otwarty w programie Microsoft Excel, pokazujący zgodność ze starszym formatem Excel przy zachowaniu formatowania
Rysunek 4 - Eksport do formatu XLS
Oryginalny plik Excel XLSX przedstawiający dane źródłowe z wieloma kolumnami i formatowaniem przed konwersją do różnych formatów
Rysunek 5 - Dane wejściowe z programu Excel dla wszystkich eksportów

Każdy format konwersji służy innym celom w nowoczesnych aplikacjach. Pliki CSV sprawdzają się dobrze przy importowaniu danych do baz danych lub narzędzi do analizy danych. Format JSON nadaje się do interfejsów API sieci Web i aplikacji JavaScript. XML zachowuje strukturę danych i jest powszechnie stosowany w systemach Enterprise. Starszy format XLS zapewnia kompatybilność ze starszymi wersjami programu Excel oraz systemami wymagającymi kompatybilności wstecznej.

Podczas pracy z tymi konwersjami IronXL automatycznie radzi sobie z wieloma złożonymi kwestiami:

  • Kodowanie znaków: Prawidłowe kodowanie UTF-8 dla znaków międzynarodowych
  • Zachowanie typów danych: Zachowanie formatowania liczb, dat i tekstu
  • Obliczanie wyników formuł: Oblicza wyniki formuł przed eksportem
  • Obsługa dużych plików: Efektywne wykorzystanie pamięci w przypadku dużych arkuszy kalkulacyjnych
  • Obsługa błędów: płynna obsługa plików uszkodzonych lub chronionych

W przypadku aplikacji wymagających wysokiej wydajności lub mających do czynienia z ograniczeniami rozmiaru plików, IronXL oferuje opcje optymalizacji. Możesz zintegrować te konwersje z automatycznymi procesami, usługami internetowymi lub aplikacjami komputerowymi.


Szybki dostęp do biblioteki

Dokumentacja API IronXL

Dowiedz się więcej i podziel się informacjami na temat scalania, rozdzielania i pracy z komórkami w arkuszach kalkulacyjnych Excel, korzystając z przydatnej Dokumentacji API IronXL.

Dokumentacja API IronXL
Documentation related to Jak mogę konwertować pliki Excel do różnych formatów?

Często Zadawane Pytania

Jak przekonwertować XLSX na CSV w C# bez zainstalowanego Excela?

IronXL pozwala przekonwertować XLSX na CSV jednym wierszem kodu: IronXl.WorkBook.Load("input.xlsx").SaveAsCsv("output.csv"). Działa to bez konieczności posiadania zainstalowanego Microsoft Excel albo Interopu w systemie.

Na jakie formaty plików mogę konwertować pliki Excel za pomocą C#?

IronXL wspiera konwersję plików Excel na wiele formatów, w tym CSV, JSON, XML, TSV i starsze formaty Excel takie jak XLS. Każdy format jest idealny do różnych zastosowań – CSV do importów do bazy danych, JSON do REST API, a XML do utrzymania hierarchicznych struktur danych.

Jak zainstalować bibliotekę do konwersji Excela dla C#?

Zainstaluj IronXL używając Menedżera Pakietów NuGet, wyszukując 'IronXl.Excel' lub przez Konsolę Menedżera Pakietów za pomocą komendy 'Install-Package IronXL'. Biblioteka wspiera .NET MAUI, Blazor i tradycyjne aplikacje .NET.

Czy mogę przekonwertować Excel na JSON do użycia z web API?

Tak, IronXL zapewnia wbudowaną konwersję z Excela do formatu JSON, co ułatwia integrację danych Excel z nowoczesnymi web API i usługami REST. Konwersja obsługuje automatycznie złożone struktury danych.

Czy konwersja Excela obsługuje specjalne znaki i formatowanie?

IronXL automatycznie radzi sobie ze specjalnymi znakami, komórkami wielowierszowymi oraz poprawnym mechanizmem wyjścia przy konwersji plików Excel na formaty jak CSV. Eliminuje to potrzebę ręcznego parsowania lub korekt formatowania.

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.