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 jednozdaniowe rozwiązanie do odczytu plików CSV w języku 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 przy użyciu metody LoadCSV biblioteki IronXL i zapisać go jako skoroszyt programu Excel przy użyciu minimalnej ilości kodu.

  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.

Dłączego 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?

Or download from the Iron Software website: https://ironsoftware.com/csharp/excel/packages/IronXL.zip

For .NET developers working with Docker containers, IronXL can be configured in your Docker environment. The library also supports deployment on Azure Functions and AWS Lambda for cloud-based CSV processing.


Poradnik "Jak to zrobić"

Jak programowo odczytać pliki CSV?

Teraz do projektu!

Jaki przestrzeń nazw muszę zaimportować?

Dodaj przestrzeń nazw IronXL:

// This namespace is required to access the IronXL functionalities
using IronXL;
// This namespace is required to access the IronXL functionalities
using IronXL;
' This namespace is required to access the IronXL functionalities
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:

// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// 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);
    }
}
// Example: Reading CSV with custom delimiter and encoding
WorkBook workbook = WorkBook.LoadCSV("data.csv", 
    fileFormat: ExcelFileFormat.XLSX, 
    listDelimiter: ";",  // Using semicolon as delimiter
    encoding: Encoding.UTF8);

// 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
Imports IronXL

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

' 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?

Tworzony jest obiekt Workbook. Metoda LoadCSV obiektu Workbook określa plik CSV do odczytania, format, w jakim ma zostać odczytany, oraz separator. W tym przypadku używany jest przecinek jako separator.

Obiekt Worksheet jest tworzony w miejscu, w którym umieszczana jest zawartość pliku CSV. Plik następnie jest zapisywany pod nowa nazwa i formatem. This process is useful when you need to convert between different spreadsheet formats.

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. For developers working with substantial datasets, the library offers significant performance improvements in recent versions. Podczas przetwarzania duzych plików należy rozwazyc te najlepsze praktyki:

// 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
    }
}
// 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 supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. Oto jak eksportowac do różnych formatow:

// 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.SaveAs("output_custom.csv", ";");
// 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.SaveAs("output_custom.csv", ";");
' Load CSV and export to multiple formats
Dim workbook As 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.SaveAs("output_custom.csv", ";")
$vbLabelText   $csharpLabel

Co z praca z danymi CSV w aplikacjach webowych?

For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. 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. You can work with formulas and format cell data appropriately:

// 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)";
// 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,052,917 | Wersja: 2026.6 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.