Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Biblioteka .NET Excel (samouczek dla programistów)

IronXL umożliwia tworzenie, odczytywanie i eksportowanie plików Excel w języku C#/.NET za pomocą zaledwie kilku linii kodu, bez konieczności instalowania pakietu Microsoft Office, co czyni go idealnym rozwiązaniem dla dynamicznie rozwijających się startupów, które potrzebują szybkiej integracji z programem Excel.

Co sprawia, że biblioteka IronXL jest najlepszą biblioteką Excel dla programowania w .NET?

W tym artykułe przyjrzymy się bibliotece IronXL, która ułatwia programową pracę z dokumentami Microsoft Excel w środowisku .NET. Stworzymy środowisko arkusza kalkulacyjnego Excel do odczytu arkuszy Excel, zapisywania tabel Excel oraz eksportowania plików arkuszy kalkulacyjnych do formatu CSV.

Dłączego warto wybrać IronXL zamiast Microsoft.Office.Interop?

Dokumenty utworzone w programie Microsoft Excel można odczytywać i konwertować do plików CSV za pomocą biblioteki C# IronXL .NET Excel. IronXL to samodzielna biblioteka oprogramowania .NET, która nie wymaga instalacji pakietu Microsoft Office, biblioteki Microsoft.Office.Interop.Excel ani interfejsu Excel Interop. Obsługuje kilka formatów arkuszy kalkulacyjnych i nie jest tylko biblioteką statyczną.

Prosty interfejs API C# firmy IronXL ułatwia odczytywanie wielu arkuszy, modyfikowanie i generowanie arkuszy kalkulacyjnych Excel w środowisku .NET. W pełni obsługuje aplikacje Xamarin, Linux, macOS, Azure, .NET Core oraz .NET Framework.

Dla założycieli startupów, którzy potrzebują szybkiego wdrożenia, IronXL eliminuje zależność od instalacji pakietu Microsoft Office na serwerach programistycznych i produkcyjnych, znacznie zmniejszając złożoność infrastruktury i koszty licencji. Wsparcie wielu platform przez bibliotekę gwarantuje, że Twoje możliwości przetwarzania danych w Excelu będą działać płynnie, niezależnie od tego, czy wdrażasz je w kontenerach Linux, Azure Functions, czy na tradycyjnych serwerach Windows.

Jakie platformy i formaty obsługuje IronXL?

Szeroka obsługa formatów oznacza, że możesz bez wysiłku konwertować pliki między różnymi typami arkuszy kalkulacyjnych, niezależnie od tego, czy importujesz dane z Excela przesłane przez klientów, czy eksportujesz je do różnych formatów dla różnych interesariuszy.

Jak skonfigurować projekt .NET do korzystania z IronXL?

W kolejnych sekcjach pokazano, jak łatwo jest tworzyć i odczytywać pliki Excel za pomocą biblioteki IronXL.

Jakie są kroki tworzenia nowego projektu konsolowego?

Krok 1: Utwórz nowy projekt w celu tworzenia plików Excel.

Po uruchomieniu programu Visual Studio wybierz opcję "Nowy projekt" z menu "Plik".

W wyświetlonym oknie dialogowym wybierz szablony projektu .NET "Console App", a następnie kliknij "Dalej".

Okno dialogowe Nowy projekt

Po wprowadzeniu lokalizacji nowego projektu w polu Lokalizacja można wpisać dowolną nazwę projektu. Kliknij przycisk Dalej, aby kontynuować.

Ekran konfiguracji nowego projektu w Visual Studio pokazujący wybór szablonu aplikacji konsolowej z językiem C#, opcjami systemów operacyjnych dla wielu platform (Linux, macOS, Windows) oraz polami do wpisania nazwy projektu i lokalizacji dla tworzenia biblioteki Excel Konfiguracja projektu

Którą wersję .NET Framework powinienem wybrać?

Wybierz platformę .NET Framework, korzystając z opcji rozwijanej Framework. W tym przypadku używamy .NET 6.0, wersji objętej długoterminowym wsparciem. Następnie naciśnij przycisk Utwórz.

Okno konfiguracji projektu Visual Studio pokazujące ustawienia aplikacji konsolowej z wybranym .NET Framework 6.0 LTS oraz opcjami platformy dla C#, Linux, macOS, Windows i Console do tworzenia bibliotek dla programu Excel Wybór frameworka

W przypadku środowisk startupowych wybór .NET 6.0 LTS zapewnia długoterminową stabilność i wsparcie, zmniejszając potrzebę aktualizacji frameworka w krytycznych fazach rozwoju. Ta wersja zapewnia również doskonałą poprawę wydajności i jest w pełni kompatybilna z wdrożeniami Docker oraz Azure Functions.

Jak zainstalować IronXL za pomocą menedżera pakietów NuGet?

Pobierz bibliotekę IronXL, która jest wymagańa do poniższego rozwiązania. Aby to zrobić, wprowadź następujące polecenie w konsoli menedżera pakietów NuGet:

Install-Package IronXl.Excel

Konsola menedżera pakietów Visual Studio pokazująca polecenie Instalacja IronXL

Inną opcją jest użycie menedżera pakietów NuGet w celu wyszukania pakietu "IronXL". Następnie wybierz żądany pakiet do pobrania z listy wszystkich pakietów NuGet związanych z IronXL.

Okno menedżera pakietów NuGet pokazujące pakiet IronXl.Excel w wersji 2023.4.13 gotowy do instalacji, z liczbą 386 tys. pobrań i podświetlonym przyciskiem Menedżer pakietów NuGet

Proces instalacji jest prosty i można go zakończyć w mniej niż minutę. W przypadku zespołów korzystających z potoków CI/CD, IronXL można łatwo zintegrować z automatycznymi kompilacjami. Sprawdź stronę z licencjami, aby zapoznać się z opcjami cenowymi przyjaznymi dla startupów oraz dowiedzieć się, jak zastosować klucze licencyjne w swoim procesie wdrażania.

Jak tworzyć pliki Excel przy użyciu IronXL w języku C#?

Dzięki IronXL możesz tworzyć nowe pliki Excel za pomocą zaledwie kilku linii kodu! IronXL może tworzyć pliki zarówno w formacie XLS (starszy format Excel), jak i XLSX (aktualny format), jak pokazano w poniższych przykładach kodu.

Jaki jest minimalny kod potrzebny do wygenerowania nowego skoroszytu Excel?

using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
using IronXL;

public class IronXLExample
{
    public static void Main(string[] args)
    {
        // Create a new workbook
        WorkBook workbook = WorkBook.Create();

        // Create a new worksheet named "Sheet1"
        WorkSheet worksheet = workbook.CreateWorkSheet("Sheet1");

        // Set the value of cell A1
        worksheet["A1"].Value = "test";

        // Save the workbook to a file
        workbook.SaveAs("sample1.xlsx");
    }
}
Imports IronXL

Public Class IronXLExample
	Public Shared Sub Main(ByVal args() As String)
		' Create a new workbook
		Dim workbook As WorkBook = WorkBook.Create()

		' Create a new worksheet named "Sheet1"
		Dim worksheet As WorkSheet = workbook.CreateWorkSheet("Sheet1")

		' Set the value of cell A1
		worksheet("A1").Value = "test"

		' Save the workbook to a file
		workbook.SaveAs("sample1.xlsx")
	End Sub
End Class
$vbLabelText   $csharpLabel

Powyższy kod pokazuje, jak użyć pakietu IronXL do utworzenia nowego skoroszytu i arkusza w programie Excel. Metoda WorkBook.Create() tworzy nowy skoroszyt, a następnie funkcja CreateWorkSheet("Sheet1") tworzy kartę arkusza o podanej nazwie. Zmiany są zapisywane w określonej lokalizacji przy użyciu metody SaveAs.

W bardziej złożonych scenariuszach można programowo dodawać wiele arkuszy, stosować formatowanie komórek, ustawiać formaty danych w komórkach, a nawet tworzyć wykresy w programie Excel:

// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
// Create a workbook with multiple sheets and formatting
WorkBook workbook = WorkBook.Create();
WorkSheet salesSheet = workbook.CreateWorkSheet("Sales");
WorkSheet revenueSheet = workbook.CreateWorkSheet("Revenue");

// Add headers with formatting
salesSheet["A1"].Value = "Product";
salesSheet["B1"].Value = "Quantity";
salesSheet["C1"].Value = "Revenue";

// Apply bold formatting to headers
salesSheet["A1:C1"].Style.Font.Bold = true;

// Add data with number formatting
salesSheet["A2"].Value = "Widget A";
salesSheet["B2"].Value = 150;
salesSheet["C2"].Value = 4500.00;
salesSheet["C2"].FormatString = "$#,##0.00"; // Currency format

// Auto-size columns for better readability
salesSheet.AutoSizeColumn(0);
salesSheet.AutoSizeColumn(1);
salesSheet.AutoSizeColumn(2);

workbook.SaveAs("sales_report.xlsx");
' Create a workbook with multiple sheets and formatting
Dim workbook As WorkBook = WorkBook.Create()
Dim salesSheet As WorkSheet = workbook.CreateWorkSheet("Sales")
Dim revenueSheet As WorkSheet = workbook.CreateWorkSheet("Revenue")

' Add headers with formatting
salesSheet("A1").Value = "Product"
salesSheet("B1").Value = "Quantity"
salesSheet("C1").Value = "Revenue"

' Apply bold formatting to headers
salesSheet("A1:C1").Style.Font.Bold = True

' Add data with number formatting
salesSheet("A2").Value = "Widget A"
salesSheet("B2").Value = 150
salesSheet("C2").Value = 4500.0
salesSheet("C2").FormatString = "$#,##0.00" ' Currency format

' Auto-size columns for better readability
salesSheet.AutoSizeColumn(0)
salesSheet.AutoSizeColumn(1)
salesSheet.AutoSizeColumn(2)

workbook.SaveAs("sales_report.xlsx")
$vbLabelText   $csharpLabel

Interfejs programu Microsoft Excel przedstawiający utworzony programowo skoroszyt z wpisem Wynik w formacie Excel

Gdzie mogę znaleźć więcej przykładów tworzenia plików Excel?

Aby dowiedzieć się więcej o tworzeniu plików Excel, zapoznaj się z tym samouczkiem dotyczącym tworzenia plików w środowisku .NET. Możesz również dowiedzieć się, jak pracować z programem Excel w języku C# bez użycia Interop oraz jak programowo tworzyć wykresy w programie Excel.

Jak odczytać dane z Excela i wyeksportować je do różnych formatów?

Eksport danych do formatów XLSX lub XLS wymaga zaledwie kilku wierszy kodu. Poniżej znajduje się kod źródłowy, który można wykorzystać do eksportowania danych z pliku Excel do prostego formatu tabelarycznego:

Jakiego kodu potrzebuję do wczytania i modyfikacji istniejących plików Excel?

using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
using IronXL;

public class ExcelReadExportExample
{
    public static void Main(string[] args)
    {
        // Load an existing Excel file
        var workbook = WorkBook.LoadExcel("Demo file.xlsx");

        // Get a worksheet from the workbook
        WorkSheet workSheet = workbook.GetWorkSheet("Sheet1");

        // Read the value of cell A1
        string addressVal = workSheet["A1"].ToString();
        Console.WriteLine(addressVal);

        // Modify the value of cell A2
        workSheet["A2"].Value = "test";

        // Save the workbook in multiple formats
        workbook.SaveAs("export.xlsx");
        // Or save as XLS
        workbook.SaveAs("export.xls");
        // Or save the specific worksheet as an XLS file
        workbook.WorkSheets[0].SaveAs("export.xls");
    }
}
Imports IronXL

Public Class ExcelReadExportExample
	Public Shared Sub Main(ByVal args() As String)
		' Load an existing Excel file
		Dim workbook = WorkBook.LoadExcel("Demo file.xlsx")

		' Get a worksheet from the workbook
		Dim workSheet As WorkSheet = workbook.GetWorkSheet("Sheet1")

		' Read the value of cell A1
		Dim addressVal As String = workSheet("A1").ToString()
		Console.WriteLine(addressVal)

		' Modify the value of cell A2
		workSheet("A2").Value = "test"

		' Save the workbook in multiple formats
		workbook.SaveAs("export.xlsx")
		' Or save as XLS
		workbook.SaveAs("export.xls")
		' Or save the specific worksheet as an XLS file
		workbook.WorkSheets(0).SaveAs("export.xls")
	End Sub
End Class
$vbLabelText   $csharpLabel

Jak uzyskać dostęp do arkuszy roboczych według nazwy lub indeksu?

W powyższym przykładzie istniejący plik Excel jest ładowany za pomocą metody LoadExcel, która przyjmuje nazwę pliku i ścieżkę jako argument. Plik jest następnie importowany do obiektu WorkBook. Arkusze są ładowane za pomocą funkcji GetWorkSheet poprzez określenie nazwy arkusza. Wartość komórki można odczytać, podając jej adres. Kod pokazuje również modyfikację wartości w arkuszu oraz zapisywanie skoroszytu w różnych formatach plików przy użyciu metody SaveAs.

IronXL zapewnia elastyczne sposoby zaznaczania zakresów, odczytywania plików CSV oraz pracy z różnymi strukturami danych. Oto rozbudowany przykład pokazujący różne sposoby uzyskiwania dostępu do danych programu Excel i manipulowania nimi:

// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
// Load workbook from various sources
WorkBook workbook = WorkBook.Load("data.xlsx");

// Access worksheets in multiple ways
WorkSheet sheet1 = workbook.WorkSheets[0]; // By index
WorkSheet sheet2 = workbook.GetWorkSheet("Sheet2"); // By name

// Read data from ranges
var range = sheet1["A1:C10"];
foreach (var cell in range)
{
    Console.WriteLine($"{cell.Address}: {cell.Value}");
}

// Convert to DataTable for easier processing
DataTable dataTable = sheet1.ToDataTable(true);

// Export to various formats
workbook.SaveAs("output.csv"); // CSV format
workbook.SaveAsJson("output.json"); // JSON format
workbook.SaveAsXml("output.xml"); // XML format
' Load workbook from various sources
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")

' Access worksheets in multiple ways
Dim sheet1 As WorkSheet = workbook.WorkSheets(0) ' By index
Dim sheet2 As WorkSheet = workbook.GetWorkSheet("Sheet2") ' By name

' Read data from ranges
Dim range = sheet1("A1:C10")
For Each cell In range
    Console.WriteLine($"{cell.Address}: {cell.Value}")
Next

' Convert to DataTable for easier processing
Dim dataTable As DataTable = sheet1.ToDataTable(True)

' Export to various formats
workbook.SaveAs("output.csv") ' CSV format
workbook.SaveAsJson("output.json") ' JSON format
workbook.SaveAsXml("output.xml") ' XML format
$vbLabelText   $csharpLabel

Okno konsoli wyświetlające pomyślny wynik Wynik konsoli

Jakie opcje eksportu są dostępne dla plików Excel?

Aby wyeksportować dane z arkusza kalkulacyjnego Excel do oddzielnego pliku, można również odwołać się do arkusza za pomocą nazwy lub wartości indeksu. IronXL obsługuje eksport do wielu formatów, w tym CSV, JSON, XML i HTML. Można również eksportować do DataSet i DataTable w celu płynnej integracji z potokiem przetwarzania danych .NET.

Dla zespołów startupowych, które muszą integrować się z różnymi systemami, możliwości eksportu IronXL umożliwiają szybką wymianę danych. Można ładować dane z Excelu z baz danych SQL, aktualizować rekordy bazy danych z poziomu Excelu lub pracować z danymi Excelu za pośrednictwem DataTable w celu szybkiego prototypowania i tworzenia MVP.

Jakie są kolejne kroki w przypadku IronXL?

Od tworzenia nowych plików po wykonywanie precyzyjnych obliczeń — IronXL zapewni Ci wsparcie we wszystkich projektach związanych z Excelem. Dzisiaj omówiliśmy, w jaki sposób IronXL może tworzyć, odczytywać i eksportować pliki Excel, oraz zobaczyliśmy, jak za pomocą zaledwie kilku wierszy kodu można uzyskać pełną kontrolę nad tymi procesami.

Jakie zaawansowane funkcje oferuje IronXL?

IronXL oferuje kompleksowe rozwiązanie dla każdego zadania programistycznego związanego z dokumentami Microsoft Excel. Można wykonywać obliczenia formuł, sortować ciągi znaków lub liczby, wycinać i dodawać dane, wyszukiwać i zamieniać, łączyć i rozdzielać komórki, wizualizować dane oraz zapisywać pliki. Można również ustawić typy danych komórek i sprawdzać poprawność danych w arkuszu kalkulacyjnym. Możliwość odczytu i zapisu plików CSV umożliwia interakcję z danymi programu Excel.

Dodatkowe zaawansowane funkcje obejmują:

Jaki jest model cenowy dla zespołów startupowych?

Koszt IronXL w momencie premiery wynosi $799, ale klienci mogą zdecydować się na opłacenie rocznej opłaty członkowskiej, aby uzyskać dostęp do ulepszeń i wsparcia technicznego. IronXL pobiera dodatkową opłatę za zabezpieczenie, która pozwala na nieograniczoną redystrybucję. Odwiedź tę stronę dotyczącą licencji, aby dowiedzieć się więcej o szczegółach cenowych.

Dla start-upów IronXL oferuje licencje deweloperskie, które pozwalają na bez ograniczeń przetestować bibliotekę IronXL. Model licencjonowania jest przejrzysty i nie zawiera żadnych ukrytych opłat. Możesz zacząć od pojedynczej licencji programisty i rozszerzać ją w miarę rozwoju zespołu. Zapoznaj się z przewodnikami dotyczącymi rozwiązywania problemów związanych z zastosowaniem licencji w różnych scenariuszach wdrożeniowych.

Niezależnie od tego, czy tworzysz aplikację Blazor, wdrażasz ją w AWS Lambda, pracujesz z .NET MAUI, czy tworzysz aplikacje internetowe ASP.NET, IronXL zapewnia elastyczność i wydajność niezbędną do szybkiego wdrażania funkcji Excela bez obciążenia związanego z zależnościami od pakietu Microsoft Office.

Często Zadawane Pytania

Jak mogę tworzyć i odczytywać pliki Excel w .NET bez Interop?

Korzystając z IronXL, można łatwo tworzyć i odczytywać pliki Excel w środowisku .NET bez konieczności korzystania z interfejsu Microsoft Office Interop. Do tworzenia nowych plików Excel można użyć metody WorkBook.Create(), a do odczytu istniejących — LoadExcel.

Jakie są zalety korzystania z samodzielnej biblioteki .NET dla programu Excel?

Samodzielna biblioteka IronXL dla programu Excel ma tę zaletę, że nie wymaga instalacji pakietu Microsoft Office ani Interop. Umożliwia płynne odczytywanie, zapisywanie i eksportowanie plików Excel na różnych platformach, takich jak Windows, macOS i Linux.

Jak mogę programowo przekonwertować pliki Excel do formatu CSV?

IronXL oferuje funkcję łatwego konwertowania plików Excel do formatu CSV. Użyj metody SaveAs, aby wyeksportować skoroszyt Excel do formatu CSV.

Które platformy są kompatybilne z IronXL do pracy z plikami Excel?

IronXL jest kompatybilny z wieloma platformami, w tym Xamarin, Linux, macOS, Azure, .NET Core i .NET Framework, oferując elastyczność programistom pracującym w różnych środowiskach.

Jakie typy danych można obsługiwać w kolumnach programu Excel za pomocą IronXL?

IronXL obsługuje szeroki zakres typów danych, w tym tekst, liczby całkowite, daty, waluty, formuły i wartości procentowe dla kolumn arkusza Excel, umożliwiając wszechstronną obsługę danych w arkuszach kalkulacyjnych.

Jak wykonać obliczenia w arkuszach kalkulacyjnych Excel przy użyciu biblioteki .NET?

Dzięki IronXL możesz wykonywać obliczenia w arkuszach kalkulacyjnych Excel, wykorzystując formuły programowo. Pozwala to na automatyzację złożonych obliczeń i zadań związanych z przetwarzaniem danych w plikach Excel.

Czy za pomocą biblioteki .NET można pracować z wieloma arkuszami w pliku Excel?

Tak, IronXL umożliwia pracę z wieloma arkuszami w ramach jednego pliku Excel. Za pomocą jego API można łatwo uzyskiwać dostęp do danych w różnych arkuszach, modyfikować je i eksportować.

Jak skonfigurować IronXL w projekcie .NET Core?

Aby skonfigurować IronXL w projekcie .NET Core, można zainstalować go za pomocą menedżera pakietów NuGet. Należy użyć polecenia Install-Package IronXl.Excel w konsoli menedżera pakietów lub dodać go za pomocą menedżera pakietów NuGet w programie Visual Studio.

Jakie opcje licencyjne i cenowe są dostępne dla IronXL?

IronXL oferuje różne opcje licencyjne, które obejmują roczną opłatę członkowską za ulepszenia i wsparcie techniczne. Dodatkowe koszty mogą wynikać z funkcji bezpieczeństwa oraz nieograniczonych praw do redystrybucji.

Jordi Bardia
Inżynier oprogramowania
Jordi jest najbardziej biegły w Pythonie, C# i C++. Kiedy nie wykorzystuje swoich umiejętności w Iron Software, programuje gry. Dzieląc odpowiedzialność za testowanie produktów, rozwój produktów i badania, Jordi wnosi ogromną wartość do ciągłej poprawy produktów. Różnorodne doświadczenia ...
Czytaj więcej

Zespol wsparcia Iron

Jestesmy online 24 godziny, 5 dni w tygodniu.
Czat
Email
Zadzwon do mnie