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;
using IronXL;
Imports IronXL
Create 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
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
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
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 employee
W 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", ",");
' 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", ",");
}
}
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 Class
Wynik
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.
Często Zadawane Pytania
Jak mogę zapisać dane w pliku CSV w C#?
Możesz użyć metody `SaveAsCsv` z IronXL, aby wyeksportować dane do pliku CSV w C#. Najpierw utwórz skoroszyt i arkusz kalkulacyjny, zapisz dane do komórek, a następnie użyj `workBook.SaveAsCsv("filename.csv", ",");`, aby zapisać dane jako plik CSV.
Jakie są kroki tworzenia aplikacji konsolowej do zapisywania plików CSV w C#?
Aby stworzyć aplikację konsolową do zapisywania plików CSV, załóż nowy projekt w Visual Studio, wybierz odpowiednią wersję .NET i zainstaluj IronXL przez Menedżera pakietów NuGet. Następnie użyj IronXL, aby utworzyć skoroszyt, dodać dane do arkusza i zapisać je jako CSV.
Czy mogę zapisać dane w pliku CSV bez korzystania z Microsoft Excel?
Tak, możesz zapisać dane w pliku CSV bez korzystania z Microsoft Excel, używając IronXL. Umożliwia on programową manipulację plikami Excel i CSV bez konieczności instalacji Excela.
Jak zainstalować IronXL w projekcie Visual Studio?
Możesz zainstalować IronXL, otwierając Menedżera pakietów NuGet w Visual Studio, wyszukując 'IronXL' i klikając 'Install', aby dodać go do swojego projektu. To umożliwi korzystanie z funkcji IronXL do obsługi plików Excel i CSV.
Jakie formaty plików obsługuje IronXL do eksportu?
IronXL obsługuje eksport danych do kilku formatów, w tym CSV, JSON, HTML, Binary, Byte Array, DataSet i DataTable, dzięki czemu jest wszechstronnym narzędziem dostosowanym do różnych potrzeb związanych z obsługą danych.
Czy IronXL jest kompatybilny z różnymi wersjami .NET?
Tak, IronXL jest kompatybilny z wieloma wersjami .NET, w tym .NET Core 2 i 3, a także .NET 5, 6 i 7, co zapewnia programistom elastyczność w różnych środowiskach programistycznych.
Czy mogę używać IronXL w projektach komercyjnych?
Tak, IronXL może być licencjonowany do celów komercyjnych. Oferuje również bezpłatną wersję próbną do użytku deweloperskiego, umożliwiającą programistom przetestowanie jego funkcji przed zakupem licencji komercyjnej.
Jak utworzyć nowy skoroszyt i arkusz w języku C# przy użyciu IronXL?
Można utworzyć nowy skoroszyt i arkusz, używając `WorkBook.Create()` do zainicjowania obiektu skoroszytu, a następnie dodając do niego nowy arkusz. Umożliwia to rozpoczęcie zapisywania danych w arkuszu.
Czy IronXL wymaga jakichkolwiek zależności Office Interop?
Nie, biblioteka IronXL jest samodzielną biblioteką, która nie wymaga żadnych zależności Office Interop, co sprawia, że jest łatwa w użyciu i wdrażaniu w aplikacjach na różnych platformach.




