
Czytaj plik CSV używając C# (Przykład kodu Samouczek)
W tym samouczku demonstrujemy, jak odczytać plik CSV za pomocą biblioteki IronXL C# bez instalowania dodatkowych interop, w bardzo wydajny i skuteczny sposób.
Jak czytać plik CSV linia po linii w C#
- Zainstaluj bibliotekę C# do odczytu pliku CSV linia po linii
- Wykorzystaj zaawansowaną metodę
LoadCSVdo odczytu pliku CSV - Złap ładowanie nieistniejącego pliku za pomocą metody
Existsw C# - Przekształć dane CSV w bazę danych za pomocą metody
ToDataTable - Użyj metody
SaveAs, aby wyeksportować plik Excel, podczas gdy dane CSV są automatycznie konwertowane na Excel
How to read CSV Files in C#
Musisz najpierw zainstalować IronXL, zanim użyjesz go do odczytu plików CSV w MVC, ASP.NET lub .NET Core. Oto podstawowy przegląd procesu.
Wybierz menu Projekt w Visual Studio, Zarządzaj pakietami NuGet i Wyszukaj IronXL.Excel, a następnie Zainstaluj.
Zainstaluj pakiet IronXL w Menedżerze pakietów NuGet
IronXL to doskonałe narzędzie do użytku, gdy trzeba odczytać pliki CSV w C#. Poniższy przykład kodu pokazuje, że można odczytać plik CSV używając przecinków lub innego separatora.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("Csv_To_Excel.xlsx")
Dane CSV dla tego poradnika
Obiekt WorkBook jest tworzony. Metoda LoadCSV obiektu WorkBook jest następnie używana do określenia nazwy pliku CSV, jego formatu i używanych w nim separatorów, które są przechowywane jako tablica ciągów. W tym scenariuszu jako separatery są wykorzystywane przecinki.
Następnie tworzony jest obiekt WorkSheet; to tam zostanie zapisane zawartość pliku CSV. Plik jest następnie przemapowany i zapisany w nowym formacie. Dane pliku CSV są następnie uporządkowane w arkuszu kalkulacyjnym w formie tabelarycznej. Wynik będzie wyglądać mniej więcej tak:
Dane przekonwertowane do pliku Excel
CSV parsing in C# .NET
CSV mają kilka problemów związanych z obsługą znaków końca wiersza w polach oraz sposobem zamykania pól w cudzysłowach, co uniemożliwia użycie prostej techniki dzielenia ciągów Split("'"). Zamiast tego, IronXL oferuje możliwość dostosowania separatora za pomocą opcjonalnego parametru z metody LoadCSV, sprawdź dokumentację API LoadCSV po więcej szczegółów.
C# Records — Reading CSV Data
W poniższym przykładzie pętla foreach jest używana do iteracji po wierszach w pliku CSV, a Konsola jest używana do zapisywania danych w rekordzie.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("Weather.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Convert the worksheet data into a DataTable
DataTable dt = ws.ToDataTable(true); // The argument true indicates the first row is header
// Iterate through each row in the DataTable
foreach (DataRow row in dt.Rows)
{
// Iterate through each column in the current row
for (int i = 0; i < dt.Columns.Count; i++)
{
// Output each cell value to the console
Console.Write(row[i] + " ");
}
// New line after each row
Console.WriteLine();
}' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("Weather.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Convert the worksheet data into a DataTable
Dim dt As DataTable = ws.ToDataTable(True) ' The argument true indicates the first row is header
' Iterate through each row in the DataTable
For Each row As DataRow In dt.Rows
' Iterate through each column in the current row
For i As Integer = 0 To dt.Columns.Count - 1
' Output each cell value to the console
Console.Write(row(i) & " ")
Next i
' New line after each row
Console.WriteLine()
Next row
Dostęp do danych z pliku CSV i wyświetlanie w Konsoli
Konwersja linii tekstu pliku CSV na format Excel
Procedura jest prosta: załaduj plik CSV i zapisz go jako plik Excel.
// Load a CSV file into a WorkBook object specifying file format and delimiters
WorkBook workbook = WorkBook.LoadCSV("test.csv", fileFormat: ExcelFileFormat.XLSX, ListDelimiter: ",");
// Get the default worksheet from the workbook
WorkSheet ws = workbook.DefaultWorkSheet;
// Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx");' Load a CSV file into a WorkBook object specifying file format and delimiters
Dim workbook As WorkBook = WorkBook.LoadCSV("test.csv", fileFormat:= ExcelFileFormat.XLSX, ListDelimiter:= ",")
' Get the default worksheet from the workbook
Dim ws As WorkSheet = workbook.DefaultWorkSheet
' Save the workbook as an Excel file
workbook.SaveAs("CsvToExcelConversion.xlsx")Odczyt i manipulacja przekonwertowanymi plikami CSV za pomocą IronXL
Klasa IronXL WorkBook reprezentuje arkusz Excel i używa tej klasy do otwierania pliku Excel w C#. Przykłady kodu poniżej załadują pożądany plik Excel do obiektu WorkBook:
// Load WorkBook from a .xlsx file
var workbook = WorkBook.Load(@"Spreadsheets\\sample.xlsx");' Load WorkBook from a .xlsx file
Dim workbook = WorkBook.Load("Spreadsheets\\sample.xlsx")Obiekty WorkSheet można znaleźć w licznych WorkBooks. Oto arkusze dokumentu Excel. Jeśli książka robocza posiada arkusze kalkulacyjne, można je uzyskać po nazwie, wykonując następujące czynności:
// Open a specific worksheet for reading by its name
var worksheet = workbook.GetWorkSheet("sheetnamegoeshere");' Open a specific worksheet for reading by its name
Dim worksheet = workbook.GetWorkSheet("sheetnamegoeshere")Kod do odczytu wartości komórek:
// Read and output values from a range of cells elegantly
foreach (var cell in worksheet["A2:A10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}' Read and output values from a range of cells elegantly
For Each cell In worksheet("A2:A10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cellPoniższy przykład kodu może aktualizować formuły lub zastosować je do określonych komórek po załadowaniu i odczytaniu książki roboczej oraz arkusza kalkulacyjnego. Oto kod:
// Set formulas for specific cells
worksheet["A1"].Formula = "Sum(B8:C12)";
worksheet["B8"].Formula = "=C9/C11";
worksheet["G30"].Formula = "Max(C3:C7)";
// Force recalculate all formula values in all sheets
workbook.EvaluateAll();' Set formulas for specific cells
worksheet("A1").Formula = "Sum(B8:C12)"
worksheet("B8").Formula = "=C9/C11"
worksheet("G30").Formula = "Max(C3:C7)"
' Force recalculate all formula values in all sheets
workbook.EvaluateAll()Podsumowanie i specjalna oferta IronXL
IronXL przekształca CSV do Excela w zaledwie dwóch liniach kodu, oprócz przetwarzania CSV w C#.
Bez konieczności użycia Interopa, korzystanie z API Excela IronXL to bułka z masłem. Ponadto IronXL oferuje również szeroki zakres funkcji umożliwiających interakcję z poziomem skoroszytów, arkuszy i komórek programu Excel, takich jak konwersja między popularnymi formatami, formatowanie danych w komórkach, scałanie komórek, wstawianie funkcji matematycznych, a nawet zarządzanie wykresami i dodawanie obrazów.
Możesz uruchomić bez znaku wodnego, używając kluczy licencyjnych IronXL trial.
Licencje zaczynają się od $999 i obejmują rok bezpłatnego wsparcia i aktualizacji.
IronPDF, IronXL, IronOCR, IronBarcode i IronWebScraper są częścią Iron Suite od Iron Software. Iron Software pozwala na zakup całego pakietu po obniżonej cenie. Można korzystać ze wszystkich tych narzędzi w cenie dwóch.
To zdecydowanie opcja warta zbadania.

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.
Powiązane artykuły



