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 i starszych formatów Excel jak XLS, używając prostych jednolinijkowych poleceń, które eliminują ręczne parsowanie.

IronXL konwertuje dowolny plik Excel na różne formaty, zapewniając deweloperom narzędzia do pracy z Excelem w C# bez Interopu. Niezależnie od tego, czy migrujesz dane pomiędzy systemami, tworzysz eksporty danych dla aplikacji webowych, czy integrujesz się z systemami older, 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.

Ten artykuł pokazuje, jak użyć IronXL do konwersji do XML, CSV, JSON i eksportu arkuszy 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 arkusz kalkulacyjny Excel do pliku CSV w jednej linii. Załaduj swój arkusz kalkulacyjny i zapisz go bezpośrednio jako CSV, aby rozpocząć natychmiast.

  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 przed użyciem go w swoich aplikacjach. IronXL supports .NET MAUI, Blazor, and traditional .NET applications. 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
  • Przeglądaj dla IronXL.Excel
  • Zainstaluj
Install-Package IronXL.Excel

Poradnik "Jak to zrobić"

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

IronXL zapewnia możliwości konwersji obsługujące automatyczne 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 CSV, IronXL obsługuje specjalne znaki, komórki z wieloma liniami i odpowiednie eskapowanie. W przypadku eksportu do formatu JSON tworzy on ustrukturyzowaną reprezentację obiektową danych z arkusza kalkulacyjnego. Konwersja do XML zachowuje formatowanie komórek i typy danych. Na końcu eksportuje Worksheet jako DataSet do użycia z obiektami DataGridView, co działa dobrze, gdy pracujesz z DataTables.

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

:path=/static-assets/excel/content-code-examples/how-to/csharp-convert-xlsx-to-csv-4.cs
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
sheet.SaveAsJson("SalesData.json");

// Convert to XML
sheet.SaveAsXml("SalesData.xml");
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
sheet.SaveAsJson("SalesData.json")

' Convert to XML
sheet.SaveAsXml("SalesData.xml")
$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.

Przy pracy z tymi konwersjami IronXL automatycznie obsługuje wiele zawiłości:

  • 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

Dla aplikacji wymagających wysokiej wydajności lub zajmujących się ograniczeniami rozmiaru plików, IronXL zapewnia 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ę, jak scalać, odłączać i pracować z komórkami w arkuszach Excela, korzystając z przydatnej Dokumentacji Odnośników 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 2,150,290 | Wersja: 2026.7 właśnie wydany
Still Scrolling Icon

Wciąż przewijasz?

Chcesz szybkiego dowodu? PM > Install-Package IronXL.Excel
uruchom próbkę zobacz, jak Twoje dane stają się arkuszem.