Jak otworzyć plik Excel i zapisać dane w C#
Ten artykuł przedstawi bibliotekę IronXL do demonstrowania jak otworzyć plik Microsoft Excel i zapisać do niego dane w aplikacji konsolowej C#.
IronXL - Biblioteka Excel
IronXL jest biblioteką Excel .NET, która ułatwia tworzenie, odczytywanie i edytowanie plików Excel w aplikacjach C#. Oferuje doskonałą wydajność i dokładne wyniki. Biblioteka obsługuje wszystkie formaty plików skoroszytów Excel, w tym XLS, XLSX, XLSM, CSV oraz TSV. Ponadto, umożliwia zapisywanie lub eksportowanie danych w formatach takich jak JSON, HTML, Binarny, Tablica Bajtów, DataSet lub DataTable.
Z IronXL, programisci moga pracowac z arkuszami kalkulacyjnymi oraz zakresami komorek bezproblemowo. Oferuje możliwość edycji formuł oraz łatwego przeliczania ich w arkuszu. Sortowanie danych na podstawie zakresu, kolumny lub wiersza jest proste. Biblioteka zapewnia funkcje modyfikacji układów, takie jak zamrażanie paneli, automatyczne dopasowanie wierszy/kolumn oraz dodawanie/usuwanie wierszy/kolumn.
IronXL także umożliwia ochronę plików Excel hasłami i uprawnieniami użytkownika do edycji. Inną godną uwagi funkcją jest możliwość dodawania, usuwania i wyodrębniania obrazów z arkuszy Excel. Biblioteka oferuje szeroki zakres funkcji Excel, wspierając różne formaty danych komórek. Te funkcje czynią IronXL jedną z najprzyjazniejszych użytkownikowi API do pracy z plikami Excel.
Jedną z istotnych zalet IronXL jest to, że nie wymaga instalacji Microsoft Excel na maszynie, eliminując potrzebę interakcji z pakietem Office lub jakichkolwiek innych zależności. Jest kompatybilny z wieloma platformami i obsługuje .NET 7, 6 i 5. Jest również kompatybilny z .NET Core 2 i 3, a także .NET Framework 4.5 i nowszymi wersjami do pracy z arkuszami Excel.
Utwórz aplikację konsolową
Zalecana jest najnowsza wersja IDE Visual Studio do tworzenia aplikacji. Visual Studio jest oficjalnym IDE do rozwoju C#, i zakłada się, że jest już zainstalowane. Jeśli jeszcze nie zainstalowałeś Visual Studio, można pobrać je z oficjalnej strony Microsoft Visual Studio.
Postępuj według tych kroków, aby utworzyć nowy projekt o nazwie 'DemoApp'.
-
Otwórz Visual Studio i kliknij na 'Create a New Project'
Nowy Projekt -
Wybierz 'Console Application' i kliknij 'Next'
Nowy Typ Projektu -
Wprowadź nazwę Projektu
Nowa Nazwa Projektu -
Wybierz wersję .NET. Wybierz stabilną wersję .NET 6.0.
Dodatkowe Informacje o Nowym Projekcie
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 'Manage NuGet Packages for Solutions' z 'Solution Explorer' lub 'Tools'.
Menedżer 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 następującą przestrzeń nazw na początku pliku Program.cs
using IronXL;
using IronXL;
Imports IronXL
Open an Existing Excel File in C
IronXL zapewnia mozliwosc otwarcia istniejacego pliku Excel lub utworzenia nowego pliku Excel. Ten przyklad zamierza otworzyc istniejacy plik za pomoca C# IronXL.
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
Teraz wybierzmy jego pierwszy arkusz. Mozna wybrac arkusz za pomoca numeru indeksu lub przez nazwe. Właściwość DefaultWorkSheet może pomóc w uzyskaniu pierwszego arkusza.
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Select worksheet by name
WorkSheet ws = workBook.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Select worksheet by name
WorkSheet ws = workBook.GetWorkSheet("Sheet1");
// Get any existing worksheet
WorkSheet firstSheet = workBook.DefaultWorkSheet;
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Select worksheet by name
Dim ws As WorkSheet = workBook.GetWorkSheet("Sheet1")
' Get any existing worksheet
Dim firstSheet As WorkSheet = workBook.DefaultWorkSheet
Kod powyższy uzyskuje pierwszy arkusz ze skoroszytu Excel. Aby utworzyć nowy plik Excel z danymi, sprawdz ten przyklad kodu.
Teraz zapiszmy dane do pliku Excel korzystając z biblioteki obiektów IronXL.
Write Data to Excel File in C
Zapis danych do pliku Excel z użyciem IronXL jest bardzo prosty. Istnieje wiele sposobów na to, ale najprostszym sposobem jest użycie odwołania do komórki Excel.
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"
Mozliwe jest rowniez zapisanie danych do zakresu komorek. Poniższy kod zapisuje dane od komórki B1 do B5.
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
Możemy również wypełnić zakres przy użyciu pętli for, czyniąc go dynamicznym. Kod wygląda następująco:
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
' Specify range in which we want to write the values
For i As Integer = 1 To 5
' Write the Dynamic value in column C
workSheet("C" & i).Value = "Value: " & i
' Write the Dynamic value in column D
workSheet("D" & i).Value = "Value: " & i
Next i
Innym sposobem na zapisanie danych do pliku Excel jest użycie metody Replace.
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
Save an Excel File in C
Ta sekcja wyjaśnia, jak zapisać plik Excel z nowo zapisanymi treściami.
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
Pełny kod wygląda następująco:
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
Console.WriteLine("Successfully written to Excel File");
}
}
using System;
using IronXL;
class Program
{
static void Main(string[] args)
{
// Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
WorkBook workBook = WorkBook.Load("sample.xlsx");
// Select worksheet at index 0
WorkSheet workSheet = workBook.WorkSheets[0];
// Access A1 cell and write the value
workSheet["A1"].Value = "Value using cell reference";
// Write the same value to cells from B1 to B5
workSheet["B1:B5"].Value = "Range value";
// Specify range in which we want to write the values
for (int i = 1; i <= 5; i++)
{
// Write the Dynamic value in column C
workSheet["C" + i].Value = "Value: " + i;
// Write the Dynamic value in column D
workSheet["D" + i].Value = "Value: " + i;
}
// Replace the value in cell D5
workSheet["D5"].Replace("Value: 5", "Replaced Value");
// Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx");
Console.WriteLine("Successfully written to Excel File");
}
}
Imports System
Imports IronXL
Friend Class Program
Shared Sub Main(ByVal args() As String)
' Supported spreadsheet formats for reading XLSX, XLS, XLSM, XLTX, CSV and TSV
Dim workBook As WorkBook = WorkBook.Load("sample.xlsx")
' Select worksheet at index 0
Dim workSheet As WorkSheet = workBook.WorkSheets(0)
' Access A1 cell and write the value
workSheet("A1").Value = "Value using cell reference"
' Write the same value to cells from B1 to B5
workSheet("B1:B5").Value = "Range value"
' Specify range in which we want to write the values
For i As Integer = 1 To 5
' Write the Dynamic value in column C
workSheet("C" & i).Value = "Value: " & i
' Write the Dynamic value in column D
workSheet("D" & i).Value = "Value: " & i
Next i
' Replace the value in cell D5
workSheet("D5").Replace("Value: 5", "Replaced Value")
' Save the updated Excel workbook to a file
workBook.SaveAs("sample.xlsx")
Console.WriteLine("Successfully written to Excel File")
End Sub
End Class
Dla bardziej szczegółowych informacji, jak odczytać dane z pliku Excel w C#, zapoznaj się z tym przykładem.
Wynik
Wyjsciowy plik to:
Plik Excel z wynikami
Podsumowanie
Ten artykuł pokazał, jak zapisać dane do plików Excel w C# z użyciem IronXL. IronXL umożliwia bezproblemową pracę z istniejącymi plikami Excel. Umożliwia także tworzenie nowych plików Excel i zapisywanie danych w łatwej składni. IronXL można również używać do odczytu plików Excel bez zainstalowanej aplikacji Microsoft Excel. Aby odczytać dane z plików Excel, możesz zobaczyć tę stronę przykładowego 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 otworzyć plik Excel w języku C# bez użycia Interop?
Możesz otworzyć plik Excel w języku C# bez użycia Interop, korzystając z biblioteki IronXL. IronXL pozwala na wydajną obsługę plików Excel bez konieczności instalowania programu Microsoft Excel, zwiększając wydajność i kompatybilność.
Jak zapisać dane w określonej komórce pliku Excel przy użyciu języka C#?
Korzystając z IronXL, można zapisać dane w określonej komórce pliku Excel, uzyskując dostęp do skoroszytu, wybierając arkusz, a następnie używając odwołań do komórek w celu przypisania wartości do wybranych komórek.
Jakie są zalety korzystania z IronXL w porównaniu z Office Interop do obsługi plików Excel?
IronXL oferuje kilka zalet w porównaniu z Office Interop, w tym brak zależności od instalacji programu Microsoft Excel, lepszą wydajność, kompatybilność międzyplatformową oraz obsługę różnych formatów plików Excel, takich jak XLS, XLSX i CSV.
Czy za pomocą tej biblioteki mogę edytować formuły w plikach Excel?
Tak, IronXL umożliwia edycję formuł w plikach Excel. Można modyfikować istniejące formuły lub wstawiać nowe przy użyciu prostej składni, którą biblioteka IronXL przetwarza wydajnie.
W jaki sposób IronXL obsługuje różne formaty plików Excel?
IronXL obsługuje wiele formatów plików Excel, takich jak XLS, XLSX, XLSM, CSV i TSV, umożliwiając płynne tworzenie, odczytywanie i edytowanie tych plików w aplikacji napisanej w języku C#.
Czy można zabezpieczyć plik Excel za pomocą IronXL?
Tak, IronXL oferuje funkcje ochrony plików Excel poprzez ustawianie haseł użytkowników i uprawnień, zapewniając bezpieczeństwo danych i kontrolowany dostęp.
Jak mogę zintegrować bibliotekę IronXL z moim projektem w języku C#?
Aby zintegrować IronXL z projektem C#, można użyć menedżera pakietów NuGet w Visual Studio. Wystarczy wyszukać IronXL i dodać go do projektu, aby zacząć korzystać z jego funkcji.
Jakie platformy obsługuje IronXL?
IronXL obsługuje wiele platform, w tym .NET 5, 6 i 7, a także .NET Core i Framework, co czyni go wszechstronnym wyborem dla różnych środowisk programistycznych.
Czy mogę korzystać z IronXL za darmo?
IronXL jest bezpłatny do celów programistycznych. Jednak do użytku komercyjnego wymagana jest licencja. Dostępna jest bezpłatna wersja próbna, umożliwiająca przetestowanie funkcji biblioteki IronXL w środowisku komercyjnym.
Jak mogę wyeksportować dane z Excela do formatu JSON za pomocą IronXL?
IronXL umożliwia eksportowanie danych z Excela do formatu JSON poprzez konwersję arkusza lub określonych zakresów danych na ciągi JSON, które następnie mogą być wykorzystywane w aplikacjach wymagających danych JSON.




