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

Jak odczytać plik CSV w C

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

IronXL zapewnia rozwiązanie w jednej linii do czytania plików CSV w C# za pomocą metody LoadCSV. Obsługuje niestandardowe delimitery i bezpośrednią konwersję do formatów Excel do bezproblemowego przetwarzania danych w aplikacjach .NET.

Szybki start: Załadowanie i konwersja pliku CSV za pomocą IronXL w jednej linii

Ten przykład pokazuje, jak odczytać plik CSV za pomocą metody LoadCSV IronXL i zapisać go jako skoroszyt Excel przy minimalnym kodzie.

  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 bibliotekę C# do czytania plików CSV (IronXL)
  • Czytaj pliki CSV w C#
  • Określ format pliku i delimiter
How To Work related to Jak odczytać plik CSV w C

Krok 1

Jak zainstalować bibliotekę IronXL?

Zanim użyjesz 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
Menedżer pakietów NuGet Visual Studio instalujący bibliotekę IronXl.Excel z szczegółami pakietu i wyjściem 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 są dostępne?

IronXL zapewnia funkcje do obsługi plików CSV z różnymi konfiguracjami. Można określić różne delimitery (średniki, tabulatory, rury) i obsługiwać 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 pokazujący dane zwierząt z kolumnami Miesiąc, Żyrafy, Słonie, Nosorożce oraz dane populacji z 6 miesięcy
Rysunek 2 - Plik CSV otwarty w Notatniku

Jak działa metoda LoadCSV?

Obiekt Workbook jest tworzony. Metoda LoadCSV obiektu Workbook określa plik CSV do odczytu, format do odczytu i delimiter. W tym przypadku używany jest przecinek jako separator.

Utworzono obiekt Worksheet, w którym umieszczona jest treść CSV. Plik następnie jest zapisywany pod nową nazwą i formatem. This process is useful when you need to convert between different spreadsheet formats.

Arkusz Excel pokazujący dane CSV z kolumnami Miesiąc, Żyrafy, Słonie, Nosorożce oraz dane liczby zwierząt z 6 miesięcy
Rysunek 3 - Plik CSV otwarty w Excel

Czy mogę wydajnie przetwarzać duże pliki CSV?

IronXL jest zoptymalizowany dla wydajności i efektywnie obsługuje duże pliki CSV. For developers working with substantial datasets, the library offers significant performance improvements in recent versions. Podczas przetwarzania dużych plików należy rozważyć 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ę eksportować dane CSV do innych formatów?

Po przeczytaniu plików CSV może być potrzebne eksportowanie danych do różnych formatów. IronXL supports multiple export options including XLSX to CSV conversion, JSON, XML, and HTML. Oto jak eksportować do różnych formatów:

// 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 pracą z danymi CSV w aplikacjach webowych?

For ASP.NET developers, IronXL provides seamless integration for reading CSV files in web applications. Można przesyłać 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 ze złożonymi danymi?

Podczas pracy z plikami CSV zawierającymi formuły, znaki specjalne lub mieszane typy danych IronXL zapewnia solidne możliwości 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 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 przetwarzać pliki CSV ze złożonymi 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, funkcje Azure 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 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.