IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

C# CSV do XLSX: Konwertuj pliki CSV do formatu Excel

Curtis Chau
Curtis Chau
Updated: 28 czerwca 2026

Konwersja plików CSV do formatu XLSX odblokowuje możliwości arkusza kalkulacyjnego, których pliki z wartościami rozdzielonymi przecinkami po prostu nie są w stanie zapewnić. Podczas gdy CSV przechowuje surowe dane tabelaryczne, format Excel XLSX obsługuje formuły, wiele arkuszy, wykresy, formatowanie komórek i walidację danych — funkcje wymagane przez nowoczesne aplikacje biznesowe. Proces konwersji jest prosty przy użyciu odpowiedniej biblioteki i wymaga zaledwie kilku wierszy kodu C#.

Biblioteka IronXL .NET obsługuje tę konwersję bezpośrednio, bez konieczności korzystania z pakietu Microsoft Office lub zestawu Open XML SDK. Odczytuje źródłowy plik CSV, analizuje dane rozdzielone separatorami i zapisuje w pełni zgodny skoroszyt XLSX. Zainstaluj przez NuGet i rozpocznij darmowy okres probny, aby podążac za przykladami kodu poniżej.

Jak przekształcić pliki CSV na format XLSX w C#?

Podstawowa konwersja wymaga załadowania pliku CSV i zapisania go w formacie Excel. IronXL zapewnia WorkBook.LoadCSV, który analizuje źródło z ogranicznikami i tworzy skoroszyt gotowy do eksportu. Metoda przyjmuje ścieżkę do pliku, docelowy format Excel oraz znak separatora.

using IronXL;

// Load CSV file and convert to XLSX format
WorkBook workbook = WorkBook.LoadCSV("data.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");

// Access the default worksheet containing CSV data
WorkSheet worksheet = workbook.DefaultWorkSheet;

// Save as Excel XLSX file
workbook.SaveAs("output.xlsx");

Wynik

C# CSV do XLSX: Kompletny przewodnik dla programisty: Obraz 1 - Przykładowy wynik dla konwersji CSV do Excel

Metoda LoadCSV akceptuje trzy kluczowe parametry: nazwę pliku, stałą docelowego formatu Excel oraz ogranicznik listy używany w pliku źródłowym. To podejście zachowuje wszystkie dane tekstowe i wartości numeryczne z oryginalnego arkusza CSV podczas tworzenia prawidłowo ustrukturyzowanego pliku XLSX. Klasa WorkBook służy jako centralny węzeł dla wszystkich operacji arkusza kalkulacyjnego. Po załadowaniu dane CSV stają się dostępne w arkuszach, co umożliwia dalszą edycję przed zapisaniem ostatecznego pliku Excel.

Aby załadować istniejące pliki XLSX zamiast CSV, użyj WorkBook.Load("file.xlsx"), który automatycznie wykrywa format z rozszerzenia pliku. Ułatwia to tworzenie potoków, które akceptują dane wejściowe w formacie CSV lub Excel i normalizują je do jednego formatu wyjściowego.

Jakie są zalety konwersji plików CSV do formatu Excel?

Format XLSX oferuje wymierne zalety w porównaniu ze zwykłym CSV w większości scenariuszy zarządzania danymi:

  • Wiele arkuszy: Pliki Excel obsługują wiele arkuszy w jednym skoroszycie, umożliwiając uporządkowane przechowywanie danych, z którym pliki CSV nie mogą się równać. Pojedynczy plik XLSX może zawierać dziesiątki arkuszy obejmujących różne okresy, regiony lub kategorie.
  • Obsługa formuł: Pisz złożone obliczenia, agregacje i logikę warunkową bezpośrednio w komórkach. Formuły programu Excel są przeliczane automatycznie po zmianie danych źródłowych, co eliminuje konieczność ręcznego przetwarzania plików CSV.
  • Visual Charts: Twórz wykresy słupkowe, liniowe, kołowe i inne wizualizacje na podstawie danych z arkusza kalkulacyjnego. IronXL obsługuje tworzenie wykresów bezpośrednio poprzez API, dzięki czemu wykresy są osadzone w pliku XLSX.
  • Formatowanie komórek: Kontroluj czcionki, kolory, obramowania i formaty liczb w profesjonalnych dokumentach. Pliki CSV przechowują wyłącznie wartości surowe; Format XLSX zachowuje warstwę wyświetlania wraz z danymi.
  • Walidacja danych: Ogranicz wprowadzanie danych w komórkach do określonych wartości lub zakresów, zapobiegając błędom wprowadzania danych w plikach udostępnianych użytkownikom końcowym.
  • Ochrona hasłem: Zabezpiecz arkusze i skoroszyty hasłami, aby kontrolować dostęp do odczytu i zapisu — funkcja całkowicie nieobecna w formacie CSV.

Te możliwości sprawiają, że format XLSX jest standardowym wyborem dla raportów, pulpitów nawigacyjnych, modeli finansowych i wszelkich aplikacji wymagających czegoś więcej niż tylko przechowywania surowych danych.

Jak zainstalować IronXL w projekcie .NET?

IronXL jest dystrybuowany jako pakiet NuGet. Zainstaluj go z konsoli menedżera pakietów w Visual Studio:

PM > Install-Package IronXL.Excel

Lub przy użyciu interfejsu CLI platformy .NET:

dotnet add package IronXL.Excel

Po instalacji dodaj using IronXL; do każdego pliku, który pracuje z arkuszami kalkulacyjnymi. Pakiet jest przeznaczony dla platform .NET Framework 4.6.2+, .NET Core 3.1+, .NET 5 do .NET 10 i obsługuje środowiska wdrożeniowe Windows, Linux, macOS, Docker oraz Azure.

Nie są wymagane żadne dodatkowe zależności środowiskowe ani instalacja pakietu Microsoft Office. IronXL odczytuje i zapisuje pliki XLSX przy użyciu własnego parsera i modułu zapisu, dzięki czemu nadaje się do wdrożeń po stronie serwera i bezinterfejsowych, gdzie nie można zainstalować pakietu Office.

Jak radzisz sobie z kodowaniem CSV podczas konwersji?

Wiele plików CSV pochodzi ze starszych systemów, międzynarodowych baz danych lub eksportów stron trzecich, które wykorzystują znaki spoza zestawu ASCII. Prawidłowe obsłużenie kodowania gwarantuje, że znaki specjalne i tekst międzynarodowy pozostaną nienaruszone w wynikowym pliku XLSX.

using IronXL;
using System.Text;

// Load CSV with explicit encoding specification
WorkBook workbook = WorkBook.LoadCSV("international-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",",
    encoding: Encoding.UTF8);

// Access the worksheet containing the encoded data
WorkSheet sheet = workbook.DefaultWorkSheet;

// Inspect a cell to verify encoding was preserved
string cellValue = sheet["A1"].StringValue;

// Save the converted Excel file
workbook.SaveAs("encoded-output.xlsx");

Plik wyjściowy XLSX

C# CSV do XLSX: Kompletny przewodnik dla programisty: Obraz 2 - CSV do XLSX z obsługą wszystkich kodowań

IronXL automatycznie wykrywa popularne formaty kodowania, w tym UTF-8, w większości standardowych plików CSV. Dla plików z niestandardowym kodowaniem, takich jak Windows-1252, ISO-8859-1, lub Shift-JIS, przekaż instancję System.Text.Encoding do wywołania LoadCSV. Dokumentacja klasy Encoding w serwisie Microsoft Learn zawiera listę wszystkich obsługiwanych nazw kodowań.

Podczas pobierania danych CSV z zdalnego serwera, użyj HttpClient, aby pobrać strumień, zapisać go jako plik tymczasowy, a następnie załadować go przez LoadCSV. Ten wzorzec sprawdza się w aplikacjach .NET hostowanych w chmurze, gdzie pliki CSV przychodzą jako odpowiedzi HTTP z zewnętrznych interfejsów API.

Jak zastosować formatowanie komórek po konwersji pliku CSV?

Surowe dane CSV nie zawierają informacji o formatowaniu. Po konwersji do formatu XLSX zastosuj formaty liczb, czcionki i kolory tła, aby arkusz kalkulacyjny był czytelny i wyglądał Professional.

using IronXL;
using IronXL.Styles;

// Load CSV data
WorkBook workbook = WorkBook.LoadCSV("sales-report.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Format the header row with bold text and background color
Range headerRow = sheet["A1:Z1"];
headerRow.Style.Font.Bold = true;
headerRow.Style.SetBackgroundColor("#4472C4");
headerRow.Style.Font.Color = "#FFFFFF";

// Apply currency format to a numeric column
Range priceColumn = sheet["C2:C100"];
priceColumn.Style.NumberFormat = "$#,##0.00";

// Auto-fit column widths for readability
sheet.AutoSizeColumn(0);
sheet.AutoSizeColumn(1);
sheet.AutoSizeColumn(2);

workbook.SaveAs("formatted-report.xlsx");

IronXL udostępnia stylizację komórek i zakresów przez właściwość Style, która odzwierciedla dostępne opcje formatowania w interfejsie Excel. Formaty liczb są zgodne ze składnią formatów liczb w programie Excel opisaną przez firmę Microsoft. Metoda SetBackgroundColor akceptuje ciągi kolorów w formacie hex, co ułatwia stosowanie kolorów marki w generowanych raportach. Zobacz pelna dokumentacje API formatowania komorek dla dostepnych wlasciwosci stylu.

Jak dodać wykresy po konwersji danych CSV?

Gdy dane CSV znajdą się w skoroszycie programu Excel, IronXL umożliwia tworzenie wykresów bezpośrednio na podstawie tych danych. Wykresy przekształcają surowe dane liczbowe w wizualne informacje bez konieczności instalowania programu Microsoft Excel na serwerze.

using IronXL;
using IronXL.Drawing.Charts;

// Load CSV and convert to Excel format
WorkBook workbook = WorkBook.LoadCSV("sales-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet worksheet = workbook.DefaultWorkSheet;

// Create a column chart from the converted CSV data
IChart chart = worksheet.CreateChart(ChartType.Column, 10, 0, 25, 10);

// Add data series from the worksheet ranges
IChartSeries series = chart.AddSeries("A2:A10", "B2:B10");
series.Title = "Monthly Sales";

// Configure chart appearance
chart.SetTitle("Sales Performance");
chart.SetLegendPosition(LegendPosition.Bottom);

// Plot the chart and save the workbook
chart.Plot();
workbook.SaveAs("sales-with-chart.xlsx");

Wynik

C# CSV do XLSX: Kompletny przewodnik dla programisty: Obraz 3 - Wynik konwersji pliku CSV do pliku Excel z wykresem

Metoda CreateChart akceptuje typ wykresu i cztery parametry pozycjonujące (górny wiersz, lewa kolumna, dolny wiersz, prawa kolumna). Metoda AddSeries łączy zakresy komórek arkusza z osiami wykresu, tworząc dynamiczne wizualizacje, które aktualizują się, gdy zmieniają się dane podstawowe. IronXL obsługuje typy wykresów kolumnowych, słupkowych, liniowych, obszarowych i kołowych za pomocą wyliczenia ChartType. Pełna lista obsługiwanych konfiguracji wykresów znajduje się w samouczku dotyczącym wykresów IronXL.

Jak przekonwertować plik CSV do tabeli danych, a następnie do programu Excel?

W scenariuszach wymagających manipulacji danych przed eksportem, konwersja danych CSV przez DataTable zapewnia maksymalną elastyczność. Takie podejście pozwala programistom filtrować, przekształcać, sortować lub weryfikować wiersze podczas procesu konwersji przy użyciu standardowych wzorców dostępu do danych .NET Standard.

using IronXL;
using System.Data;

// Load CSV file into workbook
WorkBook sourceWorkbook = WorkBook.LoadCSV("input.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Convert worksheet to DataTable for manipulation
DataTable table = sourceWorkbook.DefaultWorkSheet.ToDataTable(true);

// Filter rows -- keep only rows where the third column value is greater than 100
DataRow[] filtered = table.Select("Column3 > 100");
DataTable filteredTable = filtered.Length > 0 ? filtered.CopyToDataTable() : table.Clone();

// Create new workbook from modified data
WorkBook outputWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
WorkSheet outputSheet = outputWorkbook.CreateWorkSheet("Processed Data");

// Import filtered DataTable back into Excel
outputSheet.LoadFromDataTable(filteredTable, true);

// Save the final XLSX file
outputWorkbook.SaveAs("processed-output.xlsx");

Wynik

C# CSV do XLSX: Kompletny przewodnik dla programisty: Obraz 4 - CSV do DataTable do wyniku XLSX

Metoda ToDataTable eksportuje dane arkusza do .NET DataTable, z parametrem logicznym kontrolującym, czy pierwszy wiersz jest traktowany jako nagłówki kolumn. LoadFromDataTable importuje dane z powrotem, zapisując nagłówki kolumn jako pierwszy wiersz, gdy drugi parametr to true. Ta dwukierunkowa konwersja umożliwia pełne wykorzystanie operacji LINQ i ADO.NET między pobieraniem danych z plików CSV a eksportem do programu Excel. Przegladaj dokumentacje DataTable IronXL po dodatkowe opcje.

Jak zapisać plik XLSX do strumienia zamiast do ścieżki pliku?

Aplikacje po stronie serwera często muszą dostarczać pliki Excel bezpośrednio w ramach odpowiedzi HTTP, zamiast zapisywać pliki tymczasowe na dysku. IronXL wspiera zapisywanie skoroszytów do MemoryStream w tym celu.

using IronXL;
using System.IO;

// Load and convert CSV data
WorkBook workbook = WorkBook.LoadCSV("report-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

WorkSheet sheet = workbook.DefaultWorkSheet;

// Save workbook to a memory stream instead of a file
using MemoryStream stream = new MemoryStream();
workbook.SaveAs(stream);

// Reset stream position for reading
stream.Position = 0;

// The stream is now ready to pass to an HTTP response, upload to cloud storage,
// or attach to an email. For ASP.NET Core:
// return File(stream, "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet", "report.xlsx");

// Write bytes to verify stream contains XLSX data
byte[] xlsxBytes = stream.ToArray();
Console.WriteLine($"Generated XLSX size: {xlsxBytes.Length} bytes");

Zapisywanie do strumienia pozwala uniknąć operacji odczytu/zapisu na dysku i eliminuje konieczność czyszczenia plików tymczasowych. Ten wzorzec jest szeroko stosowany w punktach końcowych pobierania plików ASP.NET Core, gdzie plik XLSX jest generowany na żądanie. Przeciążenie SaveAs(Stream) zapisuje kompletny, prawidłowy archiwum XLSX do dowolnej instancji strumienia do zapisu.

Jak pracować z wieloma arkuszami w przekonwertowanym skoroszycie?

Pojedynczy skoroszyt XLSX może zawierać wiele arkuszy. Po konwersji pliku CSV skoroszyt domyślnie zawiera jeden arkusz. Dodatkowe arkusze można tworzyć programowo w celu uporządkowania powiązanych danych.

using IronXL;

// Load primary CSV data
WorkBook workbook = WorkBook.LoadCSV("quarterly-data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    ListDelimiter: ",");

// Rename the default sheet created from the CSV
WorkSheet q1Sheet = workbook.DefaultWorkSheet;
q1Sheet.Name = "Q1 Data";

// Create additional worksheets for summary information
WorkSheet summarySheet = workbook.CreateWorkSheet("Summary");

// Write summary headers and formulas
summarySheet["A1"].Value = "Total Records";
summarySheet["B1"].Formula = $"=COUNTA('{q1Sheet.Name}'!A:A)-1";

summarySheet["A2"].Value = "Data Sheet";
summarySheet["B2"].Value = q1Sheet.Name;

// Save the multi-sheet workbook
workbook.SaveAs("multi-sheet-report.xlsx");

Metoda CreateWorkSheet dodaje nowy pusty arkusz do skoroszytu. Arkusze są dostępne po nazwie lub indeksie przez workbook.WorkSheets. Odniesienia do formuł między arkuszami używają standardowej notacji Excel 'SheetName'!CellRef. Aby uzyskac wiecej informacji na temat operacji międzysheetowych, zobacz przewodnik po wielu arkuszach IronXL.

Jakie są Twoje kolejne kroki?

Konwersja plików CSV do formatu XLSX w języku C# za pomocą IronXL wymaga zaledwie kilku wierszy kodu i pozwala uzyskać w pełni zgodny skoroszyt programu Excel bez konieczności korzystania z pakietu Microsoft Office. Powyższe przykłady obejmują cały proces — od podstawowego wczytywania i zapisywania plików CSV po obsługę kodowania, formatowanie komórek, tworzenie wykresów, integrację z DataTable, wyjście strumieniowe oraz skoroszyty wielarkuszowe.

Kluczowe funkcje omówione w tym przewodniku:

  • Podstawowa konwersja CSV do XLSX z WorkBook.LoadCSV i SaveAs
  • Specyfikacja kodowania dla międzynarodowych zestawów znaków
  • Formatowanie komórek i zakresów zastosowane po konwersji
  • Tworzenie wykresów bezpośrednio w pliku XLSX
  • Przetwarzanie w obie strony w DataTable dla danych przefiltrowanych i przekształconych
  • Wyjście MemoryStream do dostarczania plików po stronie serwera
  • Tworzenie skoroszytów wielarkuszowych na podstawie pojedynczego źródła CSV

IronXL wspiera wdrazenia na Windows, Linux, macOS, Docker i Azure w calym .NET Framework, .NET Core i .NET 5 przez 10. Aby odkryc wiecej mozliwosci, przegladaj dokumentacje IronXL, przeszukaj dokumentacje API obiektów Excel, lub sprawdz przewodniki IronXL po tematach takich jak czytanie plików Excel, laczenie komorek i stosowanie formuł. Pobierz bezpłatną wersję próbną, aby przetestować wszystkie funkcje w środowisku programistycznym, lub kup licencję na wdrożenie produkcyjne.

Pierwszy krok:
arrow pointer
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ęczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta