
Jak zapisywać dane w pliku CSV w C#
Ten artykuł omawia, jak napisać plik CSV używając IronXL.
Biblioteka IronXL
IronXL to biblioteka Excel w .NET, która oferuje kompleksową funkcjonalność do tworzenia, odczytywania i edytowania plików arkuszy kalkulacyjnych w aplikacjach C#. Wyróżnia się pod względem wydajności i dokładności wyników. Obsługuje różne formaty plików skoroszytów, takie jak XLS, XLSX, XLSM, CSV i TSV. Dodatkowo umożliwia zapisywanie lub eksportowanie danych z plików Excel do takich formatów jak CSV, JSON, HTML, Binary, Byte Array, DataSet czy DataTable.
Za pomocą IronXL programiści mogą płynnie pracować z arkuszami i zakresami komórek, oferując elegancki sposób manipulowania danymi. Umożliwia łatwą edycję formuł i ułatwia ponowne przeliczanie formuł w arkuszu. Sortowanie danych na podstawie zakresu, kolumny lub wiersza jest proste. Możesz również modyfikować układy, zamrażając okienka, automatycznie dopasowując wiersze/kolumny oraz dodając/usuwając wiersze/kolumny.
IronXL oferuje możliwość ochrony plików Excel przy użyciu haseł użytkowników oraz ustawiania uprawnień do edycji. Ponadto zapewnia funkcje dodawania, usuwania i ekstrakcji obrazów z arkuszy Excela. Biblioteka zawiera szeroką gamę funkcji Excela, wspierając różne formaty danych komórek. To sprawia, że IronXL jest jedną z najbardziej intuicyjnych API do pracy z plikami Excel.
Znaczącą zaletą IronXL jest to, że nie wymaga zainstalowania Microsoft Excel ani Office Interop, aby działać na maszynie. Jest to rozwiązanie samodzielne, które działa na wielu platformach i jest kompatybilne z wersjami .NET 7, 6 i 5. Obsługuje również .NET Core 2 i 3 oraz standardową wersję 2. Do pracy z arkuszami Excel, IronXL jest kompatybilny z .NET Framework 4.5 i nowszymi wersjami.
Utwórz aplikację konsolową
Zaleca się najnowszą wersję Visual Studio do tworzenia aplikacji początkowych. Visual Studio jest oficjalnym zintegrowanym środowiskiem programistycznym dla C#. Musisz je zainstalować. Możesz je pobrać z strony Microsoft Visual Studio, jeśli nie jest zainstalowane.
Następujące kroki utworzą nowy projekt o nazwie "DemoApp".
-
Otwórz Visual Studio i kliknij "Utwórz nowy projekt".
Otwórz Visual Studio -
Wybierz Aplikację Konsolową i kliknij "Dalej".
Utwórz nowy projekt w Visual Studio -
Ustaw nazwę projektu
Skonfiguruj nowy projekt -
Wybierz wersję .NET. Wybierz stabilną wersję .NET 6.0.
Wybór platformy .NET Framework
Zainstaluj bibliotekę IronXL
Po utworzeniu projektu należy zainstalować bibliotekę IronXL, aby móc ją używać w projekcie. Postępuj zgodnie z tymi krokami, aby ją zainstalować.
-
Otwórz Menedżera Pakietów NuGet z Eksploratora Rozwiązań lub z narzędzi.
Przejdź do menedżera pakietów NuGet -
Wyszukaj Bibliotekę IronXL i wybierz bieżący projekt. Kliknij zainstaluj.
Wyszukaj i zainstaluj pakiet IronXL w interfejsie użytkownika NuGet Package Manager
Dodaj nastepujaca przestrzen nazw na poczatku pliku Program.cs:
using IronXL;Imports IronXLCreate a New Workbook in C#
IronXL umożliwia tworzenie pustego skoroszytu. Skoroszyt to arkusz kalkulacyjny, który zawiera wiele arkuszy. Dane są przechowywane w komórkach. CSV również wygląda jak arkusz kalkulacyjny, ale zamiast tego ma rozszerzenie pliku CSV.
// Creates a new instance of WorkBook Spreadsheet
WorkBook workBook = WorkBook.Create();' Creates a new instance of WorkBook Spreadsheet
Dim workBook As WorkBook = WorkBook.Create()Teraz, utwórzmy arkusz w WorkBook. Istnieje wiele sposobów na stworzenie arkusza w skoroszycie.
// Adds a default sheet to the workbook
WorkSheet defaultSheet = workBook.DefaultWorkSheet;
// Creates a worksheet with the name "Sheet1"
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");' Adds a default sheet to the workbook
Dim defaultSheet As WorkSheet = workBook.DefaultWorkSheet
' Creates a worksheet with the name "Sheet1"
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")Jesli chcesz dodac wiecej arkuszy do istniejacego skoroszytu, uzyj metody CreateWorkSheet.
Uwaga: Mozesz uzyc metody WorkBook.LoadCSV, jezeli plik CSV juz istnieje. Możesz to zobaczyć na stronie z przykładem kodu w celu załadowania istniejącego pliku CSV.
Zapisz dane do WorkSheet
Pisanie plików CSV jest łatwe przy użyciu IronXL. Oferuje funkcje Excela do zapisywania danych w plikach CSV. Odniesienia do komórek mogą być używane do dodawania wartości w określonych lokalizacjach. Tutaj, dodam kilka zapisow kilku pracownikow uzywajac petli foreach.
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employeeW powyzszym przykladzie kodu, została utworzona tablica employeeNames, a pierwszy wiersz zostal ustawiony z naglowkami: ID, Imie, Wynagrodzenie. Zmienna i jest rowniez zainicjowana wartoscia 2, ktora wprowadzi zapisy od 2. wiersza poniżej nagłówków. Petla foreach przetwarza kazdego pracownika z listy i dodaje go do biezacego wiersza z wartosciami ID oraz wynagrodzeniem. Przed zakonczeniem petli, i jest inkrementowane, aby przejsc do nastepnego wiersza dla kolejnego rekordu.
Zapisz Dane do Pliku CSV
Ostatnim krokiem jest zapisanie pliku CSV. IronXL zapewnia metode SaveAsCsv do zapisania skoroszytu jako pliku CSV. Pierwszym parametrem tej metody jest nazwa pliku CSV, a drugim - delimiter.
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")Pełny kod wygląda następująco:
using System;
using IronXL;
class Program
{
static void Main()
{
// Create a new workbook and worksheet
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sheet1");
// Initialize an array of employee names
string[] employeeNames = { "John", "Peter", "Harry", "Kevin", "Brian" };
// Starting row for data entry
int i = 2;
// Setting header titles for the columns
sheet["A1"].Value = "ID";
sheet["B1"].Value = "Name";
sheet["C1"].Value = "Salary";
// Populate each row with employee data
foreach (var employee in employeeNames)
{
// Set values for ID, Name, and Salary
sheet["A" + i].Value = i;
sheet["B" + i].Value = employee;
sheet["C" + i].Value = i * 1000;
i++;
}
// Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",");
}
}Imports System
Imports IronXL
Friend Class Program
Shared Sub Main()
' Create a new workbook and worksheet
Dim workBook As WorkBook = WorkBook.Create()
Dim sheet As WorkSheet = workBook.CreateWorkSheet("Sheet1")
' Initialize an array of employee names
Dim employeeNames() As String = { "John", "Peter", "Harry", "Kevin", "Brian" }
' Starting row for data entry
Dim i As Integer = 2
' Setting header titles for the columns
sheet("A1").Value = "ID"
sheet("B1").Value = "Name"
sheet("C1").Value = "Salary"
' Populate each row with employee data
For Each employee In employeeNames
' Set values for ID, Name, and Salary
sheet("A" & i).Value = i
sheet("B" & i).Value = employee
sheet("C" & i).Value = i * 1000
i += 1
Next employee
' Save the modified workbook as a CSV file with a specified delimiter
workBook.SaveAsCsv("sample.csv", ",")
End Sub
End ClassWynik
Plik CSV wyjściowy
Podsumowanie
Artykuł prezentuje proste podejście do pisania pliku CSV używając IronXL w C#. IronXL również oferuje możliwość pracy z istniejącymi plikami CSV bez żadnych problemów. Umożliwia również pisanie plików CSV, tworzenie nowych plików Excel i zapisywanie do nich danych przy użyciu prostych składni. IronXL można również użyć do czytania i pisania plików Excel bez zainstalowanego Microsoft Office. Dla konwersji między różnymi formatami arkuszy kalkulacyjnych, możesz zobaczyć tę stronę z przykładem kodu.
IronXL jest bezpłatny do celów programistycznych, a na cele komercyjne można uzyskać licencję. Możesz również wypróbować darmowy okres próbny IronXL do użytku komercyjnego.

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



