Jak odczytywać pliki CSV w języku C# przy użyciu IronXL

Read a CSV File in C

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

IronXL zapewnia jednowierszowe rozwiązanie do odczytywania plików CSV w C# przy użyciu metody LoadCSV. Obsługuje niestandardowe delimitery i bezpośrednia konwersje do formatow Excel do bezproblemowego przetwarzania danych w aplikacjach .NET.

Szybki start: Zaladowanie i konwersja pliku CSV za pomoca IronXL w jednej linii

Ten przykład pokazuje, jak odczytać plik CSV używając metody LoadCSV IronXL i zapisać go jako skoroszyt Excel z minimalnym kodem.

  1. Install IronXL with NuGet Package Manager

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

    WorkBook wb = WorkBook.LoadCSV("data.csv", ExcelFileFormat.XLSX, listDelimiter: ","); wb.SaveAs("output.xlsx");
  3. Wdrożenie do testowania w środowisku produkcyjnym

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

    arrow pointer

Czytanie plików CSV w aplikacjach .NET

  • Zainstaluj biblioteke C# do czytania plików CSV (IronXL)
  • Czytaj pliki CSV w C#
  • Okresl format pliku i delimiter
How To Work related to Read a CSV File in C

Krok 1

Jak zainstalować bibliotekę IronXL?

Zanim uzyjesz IronXL do czytania plików CSV w MVC, ASP lub .NET Core, musisz go zainstalować. Oto szybki przewodnik.

Dlaczego warto korzystać z menedżera pakietów NuGet?

  • W Visual Studio wybierz menu Projekt
  • Zarządzanie pakietami NuGet
  • Wyszukaj IronXL.Excel
  • Zainstaluj
Menedzer pakietow NuGet Visual Studio instalujacy biblioteke IronXL.Excel z szczegółami pakietu i wyjsciem konsoli
Rysunek 1 - Pakiet IronXL.Excel NuGet

Jakie są alternatywne metody instalacji?

Lub pobierz z strony internetowej Iron Software: https://ironsoftware.com/csharp/excel/packages/IronXL.zip

Dla deweloperow .NET pracujacych z kontenerami Docker, IronXL można skonfigurować w środowisku Docker. Biblioteka obsługuje również wdrazanie na Azure Functions i AWS Lambda do przetwarzania plików CSV w chmurze.


Poradnik "Jak to zrobić"

Jak programowo odczytać pliki CSV?

Teraz do projektu!

Jaki przestrzeń nazw muszę zaimportować?

Dodaj przestrzeń nazw IronXL:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-2.cs
// This namespace is required to access the IronXL functionalities
using IronXL;
Imports IronXL
$vbLabelText   $csharpLabel

Jak załadować i przekonwertować pliki CSV?

Dodaj kod do programowego czytania pliku CSV z IronXL i C#:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-read.cs
// Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
WorkBook workbook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat: ExcelFileFormat.XLSX, listDelimiter: ",");

// Access the default worksheet within the loaded workbook
WorkSheet ws = workbook.DefaultWorkSheet;

// Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx");
' Load the CSV file into a WorkBook object, specifying the file path, format, and delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("Read_CSV_Ex.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=",")

' Access the default worksheet within the loaded workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet

' Save the workbook as an Excel file with a specified name
workbook.SaveAs("Csv_To_Excel.xlsx")
$vbLabelText   $csharpLabel

Jakie zaawansowane opcje czytania CSV sa dostępne?

IronXL zapewnia funkcje do obsługi plików CSV z różnymi konfiguracjami. Można okreslic różne delimitery (średniki, tabulatory, rury) i obsługiwac pliki z różnymi kodowaniami:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-4.cs
// Example: Reading CSV with custom delimiter
WorkBook workbook = WorkBook.LoadCSV("data.csv",
    fileFormat: ExcelFileFormat.XLSX,
    listDelimiter: ";");  // Using semicolon as delimiter

// Access specific cells after loading
var cellValue = workbook.DefaultWorkSheet["A1"].Value;

// Iterate through rows
foreach (var row in workbook.DefaultWorkSheet.Rows)
{
    // Process each row
    foreach (var cell in row)
    {
        Console.WriteLine(cell.Value);
    }
}
Imports System

' Example: Reading CSV with custom delimiter
Dim workbook As WorkBook = WorkBook.LoadCSV("data.csv", fileFormat:=ExcelFileFormat.XLSX, listDelimiter:=";") ' Using semicolon as delimiter

' Access specific cells after loading
Dim cellValue = workbook.DefaultWorkSheet("A1").Value

' Iterate through rows
For Each row In workbook.DefaultWorkSheet.Rows
    ' Process each row
    For Each cell In row
        Console.WriteLine(cell.Value)
    Next
Next
$vbLabelText   $csharpLabel

Jak wygląda plik CSV przed przetwarzaniem?

Plik CSV w Notatniku pokazujacy dane zwierzat z kolumnami Miesiac, Zyrafy, Slonie, Nosorozce oraz dane populacji z 6 miesiecy
Rysunek 2 - Plik CSV otwarty w Notatniku

Jak działa metoda LoadCSV?

Obiekt Workbook został utworzony. Metoda LoadCSV obiektu Workbook określa plik CSV do odczytu, format, w którym zostanie on wczytany, oraz separator. W tym przypadku używany jest przecinek jako separator.

Utworzono obiekt Worksheet, w którym zostały umieszczone zawartości CSV. Plik następnie jest zapisywany pod nowa nazwa i formatem. Ten proces jest uzyteczny, gdy trzeba konwertować miedzy różnymi formatami arkuszy kalkulacyjnych.

Arkusz Excel pokazujacy dane CSV z kolumnami Miesiac, Zyrafy, Slonie, Nosorozce oraz dane liczby zwierzat z 6 miesiecy
Rysunek 3 - Plik CSV otwarty w Excel

Czy mogę wydajnie przetwarzać duze pliki CSV?

IronXL jest zoptymalizowany dla wydajności i efektywnie obsługuje duze pliki CSV. Dla deweloperow pracujacych z duzymi zbiorami danych biblioteka oferuje znaczace usprawnienia wydajności w ostatnich wersjach. Podczas przetwarzania duzych plików należy rozwazyc te najlepsze praktyki:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-5.cs
// Reading large CSV files with memory optimization
WorkBook workbook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ",");

// Process data in chunks
var worksheet = workbook.DefaultWorkSheet;
int rowCount = worksheet.RowCount;
int batchSize = 1000;

for (int i = 0; i < rowCount; i += batchSize)
{
    // Process rows in batches
    var endIndex = Math.Min(i + batchSize, rowCount);
    for (int j = i; j < endIndex; j++)
    {
        var row = worksheet.GetRow(j);
        // Process individual row
    }
}
Imports System
Imports IronXL

' Reading large CSV files with memory optimization
Dim workbook As WorkBook = WorkBook.LoadCSV("large_dataset.csv", 
    fileFormat:=ExcelFileFormat.XLSX, 
    listDelimiter:=",")

' Process data in chunks
Dim worksheet = workbook.DefaultWorkSheet
Dim rowCount As Integer = worksheet.RowCount
Dim batchSize As Integer = 1000

For i As Integer = 0 To rowCount - 1 Step batchSize
    ' Process rows in batches
    Dim endIndex As Integer = Math.Min(i + batchSize, rowCount)
    For j As Integer = i To endIndex - 1
        Dim row = worksheet.GetRow(j)
        ' Process individual row
    Next
Next
$vbLabelText   $csharpLabel

Jak mogę eksportowac dane CSV do innych formatow?

Po przeczytaniu plików CSV może być potrzebne eksportowanie danych do różnych formatow. IronXL obsługuje wiele opcji eksportu, w tym konwersje XLSX do CSV, JSON, XML i HTML. Oto jak eksportowac do różnych formatow:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-6.cs
// Load CSV and export to multiple formats
WorkBook workbook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ",");

// Export to different formats
workbook.SaveAs("output.xlsx"); // Excel format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format

// Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAsCsv("output_custom.csv", ";");
Imports IronXL

' Load CSV and export to multiple formats
Dim workbook As WorkBook = WorkBook.LoadCSV("input.csv", ExcelFileFormat.XLSX, ","c)

' Export to different formats
workbook.SaveAs("output.xlsx") ' Excel format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format

' Export specific worksheet to CSV with custom delimiter
workbook.DefaultWorkSheet.SaveAsCsv("output_custom.csv", ";"c)
$vbLabelText   $csharpLabel

Co z praca z danymi CSV w aplikacjach webowych?

Dla deweloperow ASP.NET IronXL zapewnia bezproblemowa integracje do czytania plików CSV w aplikacjach webowych. Można przesylac i przetwarzać pliki CSV w swoich projektach MVC lub Web API:

// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
// Example: Processing uploaded CSV file in ASP.NET
public ActionResult UploadCSV(HttpPostedFileBase file)
{
    if (file != null && file.ContentLength > 0)
    {
        // Save uploaded file temporarily
        var fileName = Path.GetFileName(file.FileName);
        var path = Path.Combine(Server.MapPath("~/App_Data/"), fileName);
        file.SaveAs(path);

        // Load and process CSV
        WorkBook workbook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",");

        // Convert to DataTable for easy display
        var dataTable = workbook.DefaultWorkSheet.ToDataTable();

        // Clean up temporary file
        System.IO.File.Delete(path);

        return View(dataTable);
    }
    return RedirectToAction("Index");
}
Imports System.IO
Imports System.Web
Imports IronXL

Public Function UploadCSV(file As HttpPostedFileBase) As ActionResult
    If file IsNot Nothing AndAlso file.ContentLength > 0 Then
        ' Save uploaded file temporarily
        Dim fileName As String = Path.GetFileName(file.FileName)
        Dim path As String = Path.Combine(Server.MapPath("~/App_Data/"), fileName)
        file.SaveAs(path)

        ' Load and process CSV
        Dim workbook As WorkBook = WorkBook.LoadCSV(path, ExcelFileFormat.XLSX, ",")

        ' Convert to DataTable for easy display
        Dim dataTable As DataTable = workbook.DefaultWorkSheet.ToDataTable()

        ' Clean up temporary file
        System.IO.File.Delete(path)

        Return View(dataTable)
    End If
    Return RedirectToAction("Index")
End Function
$vbLabelText   $csharpLabel

Jak przetwarzać pliki CSV z zlozonymi danymi?

Podczas pracy z plikami CSV zawierajacymi formuly, znaki specjalne lub mieszane typy danych IronXL zapewnia solidne możliwosci obsługi. Można pracowac z formułami i odpowiednio formatowac dane komorkowe:

:path=/static-assets/excel/content-code-examples/how-to/csharp-read-csv-file-8.cs
// Handle CSV with special requirements
WorkBook workbook = WorkBook.LoadCSV("complex_data.csv", 
    ExcelFileFormat.XLSX, 
    listDelimiter: ",");

var worksheet = workbook.DefaultWorkSheet;

// Apply formatting to cells
worksheet["A1:A10"].Style.Font.Bold = true;
worksheet["B1:B10"].FormatString = "$#,##0.00"; // Currency format

// Add formulas after loading CSV data
worksheet["D1"].Formula = "=SUM(B1:B10)";
Imports IronXL

' Handle CSV with special requirements
Dim workbook As WorkBook = WorkBook.LoadCSV("complex_data.csv", ExcelFileFormat.XLSX, listDelimiter:=",")

Dim worksheet = workbook.DefaultWorkSheet

' Apply formatting to cells
worksheet("A1:A10").Style.Font.Bold = True
worksheet("B1:B10").FormatString = "$#,##0.00" ' Currency format

' Add formulas after loading CSV data
worksheet("D1").Formula = "=SUM(B1:B10)"
$vbLabelText   $csharpLabel

Szybki dostęp do biblioteki

Dokumentacja API IronXL

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

Dokumentacja API IronXL
Documentation related to Jak przetwarzać pliki CSV z zlozonymi danymi?

Często Zadawane Pytania

Jak szybko odczytać pliki CSV w C#?

IronXL zapewnia rozwiązanie jednym wierszem do odczytywania plików CSV w C# za pomocą metody LoadCSV. Po prostu użyj: WorkBook wb = WorkBook.LoadCSV('data.csv', ExcelFileFormat.XLSX, listDelimiter: ','); To ładuje Twój plik CSV i pozwala zapisać go jako skoroszyt Excel przy użyciu wb.SaveAs('output.xlsx').

Jakie metody instalacji są dostępne dla biblioteki odczytywania CSV?

Możesz zainstalować IronXL przez Menedżera pakietów NuGet w Visual Studio, wyszukując 'IronXL.Excel', lub pobrać bezpośrednio z witryny Iron Software. Biblioteka obsługuje także kontenery Docker, Azure Functions oraz AWS Lambda dla przetwarzania CSV w chmurze.

Czy mogę używać niestandardowych separatorów podczas odczytywania plików CSV?

Tak, IronXL obsługuje różne separatory, w tym średniki, tabulatory i pionowe kreski. Możesz określić separator, używając parametru listDelimiter w metodzie LoadCSV, na przykład: WorkBook.LoadCSV('data.csv', ExcelFileFormat.XLSX, listDelimiter: ';').

Jaki namespace muszę zaimportować dla funkcjonalności odczytywania CSV?

Musisz dodać 'using IronXL;' na górze swojego pliku C#, aby uzyskać dostęp do wszystkich funkcjonalności IronXL do odczytywania i przetwarzania plików CSV.

Jak mogę uzyskać dostęp do konkretnych wartości komórek po załadowaniu pliku CSV?

Po załadowaniu pliku CSV za pomocą metody LoadCSV IronXL, możesz uzyskać dostęp do konkretnych komórek, używając: var cellValue = workbook.DefaultWorkSheet['A1'].Value; Pozwala to na pobieranie i manipulowanie poszczególnymi danymi komórek z załadowanego CSV.

Czy biblioteka obsługuje różne kodowania plików podczas odczytywania plików CSV?

Tak, IronXL obsługuje różne kodowania, w tym UTF8. Możesz określić parametr kodowania podczas ładowania plików CSV: WorkBook.LoadCSV('data.csv', fileFormat: ExcelFileFormat.XLSX, encoding: Encoding.UTF8).

Czy mogę bezpośrednio konwertować pliki CSV na format Excel?

Tak, IronXL pozwala na bezpośrednią konwersję z CSV do formatów Excel. Po załadowaniu pliku CSV za pomocą LoadCSV, możesz od razu zapisać go jako plik Excel, używając metody SaveAs, określając formaty takie jak XLSX lub XLS.

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.