Porównanie IronXL i Syncfusion Excel
Programowa obsługa programu Excel może być trudna dla programistów. Podczas próby edycji plików Microsoft Excel pojawia się kilka problemów. Głównymi problemami są trudności związane z interfejsem użytkownika oraz brak dokumentacji, co utrudnia obsługę plików Excel. Na szczęście mamy teraz do dyspozycji biblioteki Excel napisane przez doświadczonych programistów. Biblioteki te pomagają w edycji danych plików Microsoft Excel. W tym miejscu omówię dwie biblioteki Excel C#:
- IronXL: biblioteka C# dla programu Excel
- Syncfusion Excel Framework
Zacznijmy od porównania tych bibliotek.
IronXL: biblioteka C# dla programu Excel
Biblioteka IronXL dla programu Excel zawierająca kod w języku C#, opracowana przez firmę Iron Software, służąca do programowej obróbki dokumentów Excel. IronXL jest napisany w środowisku .NET Framework i upraszcza proces tworzenia aplikacji, które zazwyczaj wymagają programu Microsoft Excel do działania.
IronXL zapewnia programistom zestaw klas, metod i właściwości, które mogą być wykorzystywane do odczytu i zapisu danych z/do skoroszytu Excel, manipulowania obiektami skoroszytu, uzyskiwania dostępu do zewnętrznych źródeł danych oraz ładowania danych do skoroszytu Excel.
Przyjrzyjmy się funkcjom IronXL.
Funkcje IronXL
Istnieje wiele funkcji IronXL, które wyróżniają go spośród innych bibliotek.
Wczytywanie, odczytywanie i edycja danych
Za pomocą IronXL możemy ładować, odczytywać i edytować dane z arkuszy kalkulacyjnych, takich jak XLS, XLSX, XLST, XLSM, CSV i TSV. IronXL oferuje bardzo proste i łatwe do zapamiętania funkcje do tworzenia, odczytywania i edytowania tych arkuszy kalkulacyjnych. Zapewnia pełną kontrolę nad dokumentami.
Tworzenie wykresów
IronXL oferuje szeroki wachlarz funkcji do tworzenia arkuszy kalkulacyjnych z dostosowanymi wykresami. Posiada dobrą dokumentację API, która je wspiera.
Zapisywanie i eksportowanie
IronXL doskonale nadaje się do zapisywania i eksportowania dokumentów w wielu formatach. IronXL umożliwia eksportowanie lub konwertowanie plików Excel do formatów XLS, XLSX, XLST, XLSM, CSV, TSV i JSON.
Praca z formułami
IronXL obsługuje pracę z formułami w plikach Excel. Możemy utworzyć dowolną formułę i zastosować ją do dowolnej komórki zgodnie z naszymi potrzebami. IronXL posiada doskonałe i proste funkcje, które pomagają nam w pracy z formułami.
Formaty danych komórek
Użytkownicy programu Excel często muszą stosować formatowanie w komórkach programu. IronXL obsługuje zaawansowane funkcje formatowania warunkówego. IronXL służy pomocą w formatowaniu danych komórek dzięki prostym i łatwym w użyciu funkcjom. IronXL obsługuje wszystkie formaty obsługiwane przez program Microsoft Excel. Dane można formatować przy użyciu następujących formatów:
- Tekst
- Liczba
- Formuły
- Daty
- Waluta
- Procenty
- Naukowe
- Czas
- Formaty niestandardowe
Stylizacja komórek
Stylizacja komórek to ważna funkcja programu Microsoft Excel, która pomaga wyróżnić ważne dane. Jest to bardzo przydatne, a IronXL również obsługuje tę funkcję. Za pomocą funkcji IronXL można zmieniać styl czcionki, rozmiar czcionki, wzór tła, obramowanie i wyrównanie.
Syncfusion Excel
Biblioteka Syncfusion udostępnia interfejs API do odczytu, zapisu i manipulacji plikami Microsoft Excel (XLS). Biblioteka Syncfusion to biblioteka C#, z której programiści mogą korzystać do tworzenia aplikacji do odczytu, zapisu i manipulacji plikami Microsoft Excel (XLS). Obsługiwane jest również importowanie danych dostosowanych do indywidualnych potrzeb. Jest kompatybilny ze wszystkimi systemami operacyjnymi obsługującymi języki programowania C#.
Funkcje Syncfusion Excel
Przyjrzyjmy się funkcjom biblioteki Syncfusion Excel:
- Twórz dokumenty Excel od podstaw.
- Modyfikuj istniejące dokumenty Excel.
- Importuj i eksportuj dane.
- Obsługuje formuły programu Excel.
- Obsługuje tworzenie i edycję tabel, tabel przestawnych oraz wykresów przestawnych.
- Wypełnij dane, korzystając ze znaczników szablonu.
Przyjrzyjmy się, jak działają te biblioteki. Aby sprawdzić różne funkcje, musimy najpierw utworzyć projekt w języku C#. Zatem zaczynajmy.
1. Tworzenie projektu w języku C
W tym samouczku do stworzenia projektu zostanie użyta wersja Visual Studio 2019 (zalecana jest najnowsza wersja) oraz język programowania C#.
- Otwórz program Visual Studio 2019.
- Kliknij "Utwórz", aby utworzyć nowy projekt.
-
Wybierz szablon "Aplikacja konsolowa C#" i kliknij przycisk Dalej.
Aplikacja konsolowa -
Nadaj nazwę projektowi i kliknij przycisk Dalej.
Konfiguracja projektu -
Wybierz docelową platformę .NET Framework >= 3.1, ponieważ wersja 3.1 jest obsługiwana i działa na każdym urządzeniu. Najnowszą i najbardziej stabilną wersją .NET Framework jest 5.0. Kliknij przycisk Utwórz. Spowoduje to utworzenie aplikacji konsolowej w języku C#.
.NET Target Framework
Można również korzystać z istniejących projektów C#. Wystarczy otworzyć projekt i zainstalować biblioteki. W następnej sekcji zobaczymy, jak zainstalować biblioteki Excel.
2. Instalacja biblioteki IronXL
Istnieje wiele sposobów pobrania i zainstalowania biblioteki IronXL. Są to:
- Konsola menedżera pakietów
- Korzystanie z menedżera pakietów NuGet
2.1 Konsola menedżera pakietów
Bibliotekę IronXL można zainstalować za pomocą konsoli menedżera pakietów. Aby zainstalować program, wykonaj poniższe czynności:
-
Otwórz konsolę menedżera pakietów. Zazwyczaj znajduje się on w dolnej części okna programu Visual Studio.
Konsola menedżera pakietów -
Wpisz następujące polecenie i naciśnij Enter.
Install-Package IronXLInstall-Package IronXLSHELL -
Rozpocznie się instalacja biblioteki IronXL.
Instalacja IronXL - Po instalacji możemy używać go w naszym projekcie.
2.2 Instalacja za pomocą menedżera pakietów NuGet
Bibliotekę IronXL można zainstalować bezpośrednio z menedżera pakietów NuGet. Aby zainstalować IronXL, wykonaj następujące kroki:
-
Kliknij opcję Narzędzia na pasku menu i najedź kursorem na Menedżer pakietów NuGet.
Menedżer pakietów NuGet -
Wybierz opcję Zarządzaj pakietami NuGet dla rozwiązania. Kliknij Przeglądaj i wpisz IronXL w pasku wyszukiwania. W wynikach wyszukiwania pojawi się biblioteka IronXL.
Zarządzaj pakietami NuGet - Kliknij
IronXl.Exceli kliknij przycisk Install. Biblioteka zostanie zainstalowana automatycznie.
3. Instalacja biblioteki Syncfusion Excel
Bibliotekę Syncfusion Excel można zainstalować za pomocą konsoli Package Manager Console. W przeciwieństwie do IronXL, musimy zainstalować każdą bibliotekę osobno dla różnych projektów, takich jak Windows Forms, WPF, ASP.NET, UWP i inne. Musimy napisać różne polecenia dla różnych platform.
3.1 Instalacja za pomocą konsoli menedżera pakietów
Aby zainstalować bibliotekę Syncfusion Excel, wykonaj poniższe czynności:
- Przejdź do konsoli menedżera pakietów.
-
Wpisz następujące polecenie, aby zainstalować bibliotekę Syncfusion Excel:
Install-Package Syncfusion.XlsIO.WinFormsInstall-Package Syncfusion.XlsIO.WinFormsSHELL -
Jeśli pracujesz nad projektem WPF, wpisz następujące polecenie:
Install-package Syncfusion.XlsIO.WpfInstall-package Syncfusion.XlsIO.WpfSHELL - Rozpocznie się instalacja biblioteki. Po instalacji można z łatwością korzystać z frameworka Syncfusion Excel w swoim projekcie.
4. Odczytywanie dokumentu Excel
Odczytywanie dokumentów Excel jest podstawową funkcją każdej biblioteki Excel. Przyjrzymy się, jak odczytywać pliki Excel przy użyciu frameworków IronXl.Excel i Syncfusion Excel.
4.1 IronXL
IronXL umożliwia odczytywanie dokumentów Excel bez użycia Microsoft.Office.Interop.Excel. Przed rozpoczęciem pracy z IronXL należy wykonać ważny krok — zawsze importujemy IronXL do naszego pliku programu. Dlatego na początku musimy napisać następujący wiersz kodu:
using IronXL;
using System.Linq;
using IronXL;
using System.Linq;
Imports IronXL
Imports System.Linq
Następnie napisz poniższe linijki kodu, aby odczytywać i edytować pliki Excel bez konieczności pisania wielu linijek kodu i posiadania wiedzy z zakresu podstaw programowania.
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
// Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
WorkBook workbook = WorkBook.Load("data.xlsx");
WorkSheet sheet = workbook.WorkSheets.First();
// Select cells easily in Excel notation and return the calculated value, date, text, or formula
int cellValue = sheet["A2"].IntValue;
// Read from Ranges of cells elegantly.
foreach (var cell in sheet["A2:B10"])
{
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text);
}
' Supported spreadsheet formats for reading include: XLSX, XLS, CSV, and TSV
Dim workbook As WorkBook = WorkBook.Load("data.xlsx")
Dim sheet As WorkSheet = workbook.WorkSheets.First()
' Select cells easily in Excel notation and return the calculated value, date, text, or formula
Dim cellValue As Integer = sheet("A2").IntValue
' Read from Ranges of cells elegantly.
For Each cell In sheet("A2:B10")
Console.WriteLine("Cell {0} has value '{1}'", cell.AddressString, cell.Text)
Next cell
Funkcja WorkBook.Load ułatwia ładowanie skoroszytu. W podanym kodzie widzimy również wartości komórek i PRINTujemy je w konsoli.
4.2 Syncfusion Excel
Przyjrzyjmy się, jak można odczytywać i edytować istniejące pliki Excel przy użyciu frameworka Syncfusion Excel. Po pierwsze, aby korzystać z frameworka Syncfusion Excel, musimy zaimportować Syncfusion do naszego projektu. Aby to zrobić, musimy dodać następujące linie kodu na początku pliku kodu:
using Syncfusion.XlsIO;
using System.Drawing;
using Syncfusion.XlsIO;
using System.Drawing;
Imports Syncfusion.XlsIO
Imports System.Drawing
Następnie dodaj do projektu poniższe linijki kodu, aby odczytywać pliki Excel i uzyskiwać do nich dostęp za pomocą frameworka Syncfusion Excel.
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the Excel application object
IApplication application = excelEngine.Excel;
// Set the Excel engine application version
application.DefaultVersion = ExcelVersion.Excel2016;
// Load the existing Excel workbook
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");
// Get the first worksheet
IWorksheet worksheet = workbook.Worksheets[0];
// Assign some text in a cell
worksheet.Range["A3"].Text = "Hello World";
// Save the Excel document
workbook.SaveAs("Output.xlsx");
}
// Create an instance of new ExcelEngine
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the Excel application object
IApplication application = excelEngine.Excel;
// Set the Excel engine application version
application.DefaultVersion = ExcelVersion.Excel2016;
// Load the existing Excel workbook
IWorkbook workbook = application.Workbooks.Open("Sample.xlsx");
// Get the first worksheet
IWorksheet worksheet = workbook.Worksheets[0];
// Assign some text in a cell
worksheet.Range["A3"].Text = "Hello World";
// Save the Excel document
workbook.SaveAs("Output.xlsx");
}
' Create an instance of new ExcelEngine
Using excelEngine As New ExcelEngine()
' Instantiate the Excel application object
Dim application As IApplication = excelEngine.Excel
' Set the Excel engine application version
application.DefaultVersion = ExcelVersion.Excel2016
' Load the existing Excel workbook
Dim workbook As IWorkbook = application.Workbooks.Open("Sample.xlsx")
' Get the first worksheet
Dim worksheet As IWorksheet = workbook.Worksheets(0)
' Assign some text in a cell
worksheet.Range("A3").Text = "Hello World"
' Save the Excel document
workbook.SaveAs("Output.xlsx")
End Using
Widzimy, że aby odczytać pliki Excel w Syncfusion Excel, musimy najpierw zdefiniować wersję Excela. Następnie możemy otworzyć plik i edytować go. Aby zapisać zmodyfikowany plik, musimy ponownie zdefiniować typ zawartości zmodyfikowanego pliku zgodnie z wersją programu Excel. W tym przypadku IronXL jest bardzo łatwy do zrozumieniuiuiuiuia i użycia, ponieważ nie musieliśmy określać wersji Excela, a także dlatego, że w IronXL mamy małe i łatwe do zapamiętania funkcje z parametrami.
5. Tworzenie nowych dokumentów Excel
Następnie porównamy metody tworzenia nowych dokumentów Excel i wypełniania utworzonych dokumentów wartościami. Najpierw przyjrzymy się, jak tworzyć dokumenty w IronXL.
5.1 IronXL
IronXL nie wymaga instalacji programu Excel na serwerze ani Interop. IronXL zapewnia szybszy i bardziej intuicyjny interfejs API niż Microsoft.Office.Interop.Excel. Jak już wiemy, musimy najpierw zaimportować bibliotekę IronXL, a następnie napisać kod do tworzenia plików Excel. Poniższy kod służy do tworzenia plików Excel w IronXL.
using IronXL;
// Create a new Excel WorkBook document.
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;
// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
using IronXL;
// Create a new Excel WorkBook document.
WorkBook xlsxWorkbook = WorkBook.Create(ExcelFileFormat.XLSX);
xlsxWorkbook.Metadata.Author = "IronXL";
// Add a blank WorkSheet
WorkSheet xlsSheet = xlsxWorkbook.CreateWorkSheet("main_sheet");
// Add data and styles to the new worksheet
xlsSheet["A1"].Value = "Hello World";
xlsSheet["A2"].Style.BottomBorder.SetColor("#ff6600");
xlsSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;
// Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
Imports IronXL
' Create a new Excel WorkBook document.
Dim xlsxWorkbook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
xlsxWorkbook.Metadata.Author = "IronXL"
' Add a blank WorkSheet
Dim xlsSheet As WorkSheet = xlsxWorkbook.CreateWorkSheet("main_sheet")
' Add data and styles to the new worksheet
xlsSheet("A1").Value = "Hello World"
xlsSheet("A2").Style.BottomBorder.SetColor("#ff6600")
xlsSheet("A2").Style.BottomBorder.Type = IronXl.Styles.BorderType.Double
' Save the Excel file
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
Wynik:
Wynik IronXL
Możemy ustawić metadane plików Excel. Ustawianie wartości komórek i formatowanie komórek jest bardzo łatwe dzięki prostym i łatwym w użyciu funkcjom. Używamy funkcji Style.BottomBorder.SetColor do ustawienia koloru dolnej krawędzi komórki.
5.2 Syncfusion Excel
Poniższy kod pokazuje, jak utworzyć nowy plik Excel i zapisać go za pomocą Syncfusion Excel. Dodaj poniższy kod i dołącz niezbędne przestrzenie nazw:
using Syncfusion.XlsIO;
using Syncfusion.XlsIO;
Imports Syncfusion.XlsIO
Teraz dodaj następujące linie kodu:
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the Excel application object
IApplication application = excelEngine.Excel;
// Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013;
// Create a workbook with 1 worksheet
IWorkbook workbook = application.Workbooks.Create(1);
// Access first worksheet from the workbook
IWorksheet worksheet = workbook.Worksheets[0];
// Adding text to a cell
worksheet.Range["A1"].Text = "Hello World";
// Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx");
}
// New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
// Instantiate the spreadsheet creation engine
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the Excel application object
IApplication application = excelEngine.Excel;
// Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013;
// Create a workbook with 1 worksheet
IWorkbook workbook = application.Workbooks.Create(1);
// Access first worksheet from the workbook
IWorksheet worksheet = workbook.Worksheets[0];
// Adding text to a cell
worksheet.Range["A1"].Text = "Hello World";
// Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx");
}
' New instance of ExcelEngine is created equivalent to launching Microsoft Excel with no workbooks open
' Instantiate the spreadsheet creation engine
Using excelEngine As New ExcelEngine()
' Instantiate the Excel application object
Dim application As IApplication = excelEngine.Excel
' Assigns default application version
application.DefaultVersion = ExcelVersion.Excel2013
' Create a workbook with 1 worksheet
Dim workbook As IWorkbook = application.Workbooks.Create(1)
' Access first worksheet from the workbook
Dim worksheet As IWorksheet = workbook.Worksheets(0)
' Adding text to a cell
worksheet.Range("A1").Text = "Hello World"
' Saving the workbook to disk in XLSX format
workbook.SaveAs("Sample.xlsx")
End Using
Powyższy kod tworzy nowy obiekt IWorkbook, a następnie tworzy arkusz w skoroszycie za pomocą funkcji Workbooks.Create(). Uzyskuje dostęp do komórek arkuszy Excel poprzez właściwość "cells", a następnie zapisuje plik za pomocą funkcji SaveAs().
6. Eksportowanie plików Excel
Następnie przyjrzymy się, jak można eksportować pliki Excel do innych formatów danych. Jest to ważna cecha bibliotek Excel, ponieważ czasami potrzebujemy danych w różnych formatach do różnych rodzajów przetwarzania — dlatego sprawdzimy, która biblioteka oferuje proste i łatwe rozwiązania.
6.1 IronXL
Korzystając z IronXL, możemy konwertować pliki Excel za pomocą zaledwie jednej linii kodu. IronXL umożliwia eksport danych z Excela do formatów CSV, JSON, XML, XLSX, XLS i wielu innych.
Poniższy kod pomaga konwertować pliki Excel do różnych formatów przy użyciu IronXL.
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
// Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls");
xlsxWorkbook.SaveAs("NewExcelFile.xlsx");
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv");
xlsxWorkbook.SaveAsJson("NewExcelFile.json");
xlsxWorkbook.SaveAsXml("NewExcelFile.xml");
' Export to many formats with fluent saving
xlsxWorkbook.SaveAs("NewExcelFile.xls")
xlsxWorkbook.SaveAs("NewExcelFile.xlsx")
xlsxWorkbook.SaveAsCsv("NewExcelFile.csv")
xlsxWorkbook.SaveAsJson("NewExcelFile.json")
xlsxWorkbook.SaveAsXml("NewExcelFile.xml")
W powyższym kodzie widzimy, że możemy bardzo łatwo eksportować pliki Excel za pomocą zaledwie jednej linii kodu. Najpierw jednak musimy otworzyć lub utworzyć plik Excel, a powyżej widzieliśmy już, jak można to zrobić za pomocą IronXL.
6.2 Syncfusion Excel
Framework Syncfusion Excel umożliwia konwersję plików Excel do formatów PDF i JSON. Możemy konwertować pliki Excel do formatu JSON bez instalowania dodatkowej biblioteki. Oto kod pokazujący, jak przekonwertować otwarty plik Excel na plik JSON.
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");
// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
// Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json");
// Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", true);
' Saves the workbook to a JSON file, as schema by default
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema-default.json")
' Saves the workbook to a JSON file as schema
workbook.SaveAsJson("Excel-Workbook-To-JSON-as-schema.json", True)
Aby przekonwertować typowe dokumenty Excel na pliki PDF, musimy zainstalować dodatkową bibliotekę, która zapewni obsługę tej konwersji. Excel-to-ODS zapisuje pliki Excel w formatach ODS do wykorzystania w różnych aplikacjach, takich jak OpenOffice i Arkusze Google. Excel-to-HTML dynamicznie renderuje skoroszyt lub arkusz Excel jako plik HTML.
7. Ochrona plików Excel
Ochrona jest najważniejszą funkcją programu Microsoft Excel. Daje to kontrolę nad tym, kto może edytować i otwierać pliki. Pliki Excel chronione hasłem są ważne, ponieważ mogą zawierać istotne dane. Przyjrzyjmy się, jak możemy chronić nasze pliki Excel za pomocą bibliotek Excel.
7.1 IronXL
Korzystając z IronXL, możemy zabezpieczyć nasz plik Excel za pomocą jednej linii kodu. Poniższy kod pokazuje, jak otworzyć i zabezpieczyć plik Excel.
using IronXL;
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();
// Unprotect the worksheet and remove any password locks
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
using IronXL;
WorkBook workbook = WorkBook.Load("test.xlsx");
WorkSheet worksheet = workbook.DefaultWorkSheet;
// Protect the worksheet by setting the password to it
// Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password");
workbook.Save();
// Unprotect the worksheet and remove any password locks
// It works even if you do not know the password!
worksheet.UnprotectSheet();
workbook.Save();
Imports IronXL
Private workbook As WorkBook = WorkBook.Load("test.xlsx")
Private worksheet As WorkSheet = workbook.DefaultWorkSheet
' Protect the worksheet by setting the password to it
' Users will then need to know this password to edit the password-protected Excel file's worksheet in Excel.
worksheet.ProtectSheet("password")
workbook.Save()
' Unprotect the worksheet and remove any password locks
' It works even if you do not know the password!
worksheet.UnprotectSheet()
workbook.Save()
Funkcja ProtectSheet() umożliwia użytkownikowi zaszyfrowanie pliku Excel. Aby odblokować arkusz, po załadowaniu pliku Excel można użyć funkcji UnprotectSheet(). Funkcja ta usunie wszystkie hasła, nawet jeśli ich nie znasz.
7.2 Syncfusion Excel
Możemy zabezpieczyć pliki Excel za pomocą frameworka Syncfusion Excel. Poniższy kod umożliwia utworzenie i zabezpieczenie pliku Excel.
private void ProtectWorkbook()
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the application object
IApplication application = excelEngine.Excel;
// Create a workbook
IWorkbook workbook = application.Workbooks.Create(1);
// Protect the workbook specifying a password with Boolean attributes for structure and windows protection
bool isProtectWindow = true;
bool isProtectContent = true;
workbook.Protect(isProtectWindow, isProtectContent, "password");
// Save the Excel file
workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
}
}
private void ProtectWorkbook()
{
using (ExcelEngine excelEngine = new ExcelEngine())
{
// Instantiate the application object
IApplication application = excelEngine.Excel;
// Create a workbook
IWorkbook workbook = application.Workbooks.Create(1);
// Protect the workbook specifying a password with Boolean attributes for structure and windows protection
bool isProtectWindow = true;
bool isProtectContent = true;
workbook.Protect(isProtectWindow, isProtectContent, "password");
// Save the Excel file
workbook.SaveAs(@"d:\test\XlsIOOutput_ProtectedWorkbook.xlsx");
}
}
Private Sub ProtectWorkbook()
Using excelEngine As New ExcelEngine()
' Instantiate the application object
Dim application As IApplication = excelEngine.Excel
' Create a workbook
Dim workbook As IWorkbook = application.Workbooks.Create(1)
' Protect the workbook specifying a password with Boolean attributes for structure and windows protection
Dim isProtectWindow As Boolean = True
Dim isProtectContent As Boolean = True
workbook.Protect(isProtectWindow, isProtectContent, "password")
' Save the Excel file
workbook.SaveAs("d:\test\XlsIOOutput_ProtectedWorkbook.xlsx")
End Using
End Sub
Używamy funkcji Protect() do szyfrowania pliku Excel. Musimy przekazać trzy parametry do funkcji, jeśli chcemy chronić tylko arkusz, lub jeśli chcemy również chronić zawartość pliku Excel. Trzecim parametrem będzie hasło, które chcesz ustawić.
8. Licencjonowanie
8.1 IronXL
IronXL jest całkowicie darmowy do celów programistycznych. Możesz wypróbować każdy jego aspekt w celu rozwoju. Jednak w bezpłatnej wersji deweloperskiej będzie widoczny znak wodny. Możesz wypróbować to za darmo również w środowisku produkcyjnym. Możesz aktywować bezpłatną wersję próbną do użytku produkcyjnego bez żadnych opłat. Jeśli zdecydujesz się na zakup IronXL, dostępne są następujące plany cenowe:
Wersja Lite
Możesz wybrać wersję Lite Edition, jeśli jesteś indywidualnym programistą i chcesz używać IronXL w swoim projekcie. To będzie dla Ciebie najlepsza opcja.
IronXL Lite
Wersja Professional
Wersja Professional Edition jest najlepszym wyborem, jeśli prowadzisz firmę posiadającą wiele oddziałów na całym świecie. Ta edycja obsługuje jednocześnie 10 lokalizacji, 10 programistów i 10 projektów.
IronXL Professional
Wersja bez ograniczeń
Ten plan cenowy obejmuje nieograniczoną liczbę programistów, nieograniczoną liczbę lokalizacji i nieograniczoną liczbę projektów na całe życie za jednorazową opłatą. Jest to najlepsza opcja, jeśli wolisz używać IronXL w wielu projektach.
IronXL Unlimited
IronXL obsługuje również dystrybucję tantiem, a także oferuje wsparcie techniczne i aktualizacje produktów.
Podział tantiem
Strona licencyjna IronXL zawiera więcej szczegółów na temat cen i praw użytkowania.
8.2 Biblioteka Syncfusion Excel
Biblioteka Syncfusion Excel oferuje również bezpłatną wersję próbną. Jeśli chcesz kupić Syncfusion Excel, możesz to zrobić za $395 dla zespołu składającego się z maksymalnie pięciu programistów. Syncfusion oferuje dodatkowe licencje dla zespołów liczących co najmniej 10 programistów oraz specjalne Unlimited Licenses do wykorzystania w pojedynczych projektach lub dla całych firm.
Syncfusion
9. Podsumowanie
Obie biblioteki zapewniają skuteczne funkcje. Jednak patrząc z szerszej perspektywy, IronXL jest wygodniejszy i łatwiejszy w użyciu. Posiada niewielkie i łatwe do zapamiętania funkcje. Dzięki IronXL możesz wykonać wiele operacji edycji i formatowania za pomocą jednej linii kodu. Kod jest złożony, ale początkujący programista może go bardzo łatwo zrozumieć. Nie musisz znać ani rozumieć działania IronXL. Nie ma potrzeby instalowania oddzielnych bibliotek dla różnych platform. Zainstaluj go raz, a będziesz gotowy do działania.
Jak widzieliśmy powyżej, Syncfusion Excel posiada wiele funkcji. Za pomocą Syncfusion Excel możemy wykonać wiele operacji formatowania i konwersji. Możemy tworzyć nowe dokumenty Excel, modyfikować już istniejące pliki Excel, stosować różne formatowania oraz szyfrować dane. Aby przeprowadzić konwersję, musimy zainstalować oddzielną bibliotekę.
IronXL oferuje różne plany cenowe. Możesz wybrać plan najlepiej dopasowany do Twoich potrzeb. Na przykład, jeśli jesteś jedynym programistą i potrzebujesz IronXL do celów komercyjnych w ramach projektu, możesz aktywować go za pomocą jednorazowej opłaty, która jest znacznie niższa niż w przypadku Syncfusion, gdzie musisz kupić bibliotekę IronXL na zaledwie jeden rok za kilkaset dolarów, tylko dla jednego programisty i jednego projektu. Tak więc IronXL jest znacznie tańszy i oferuje znacznie lepsze możliwości niż framework Syncfusion Excel.
Podsumowując, IronXL jest lepszym wyborem niż framework Syncfusion Excel. Jak widać w powyższych akapitach, korzystanie z IronXL jest bardzo łatwe dzięki jego prostym funkcjom, a za pomocą jednej linii kodu można wykonać wiele operacji formatowania. Jednak w frameworku Syncfusion Excel musimy napisać wiele linii kodu, aby zdefiniować wiele elementów, które są już zdefiniowane w IronXL na zapleczu, a użytkownik nie musiałby tracić czasu na definiowanie wielu parametrów i zmiennych. Ponadto IronXL jest tańszy i oferuje lepsze opcje licencyjne. Firma Iron Software ma obecnie specjalną ofertę, w ramach której można kupić pięć pakietów oprogramowania w cenie zaledwie dwóch. Oznacza to, że można kupić pięć pakietów Iron Software po obniżonej cenie.
Często Zadawane Pytania
Jakie są główne zalety korzystania z IronXL do obróbki plików Excel?
IronXL zapewnia uproszczony i przyjazny dla użytkownika interfejs API, który pozwala programistom na łatwe odczytywanie, zapisywanie i manipulowanie dokumentami Excel. Obsługuje wiele formatów plików, takich jak XLS, XLSX, CSV i JSON, i zawiera funkcje do ładowania danych, tworzenia wykresów, obsługi formuł oraz stylizacji komórek bez konieczności instalacji programu Microsoft Excel.
Jak mogę konwertować pliki Excel do różnych formatów w języku C#?
Za pomocą IronXL można eksportować pliki Excel do różnych formatów, takich jak CSV, JSON, XML, XLSX i XLS. Można to zrobić przy użyciu minimalnej ilości kodu, co ułatwia integrację z aplikacjami napisanymi w języku C#.
Czy do korzystania z IronXL konieczne jest zainstalowanie programu Excel?
Nie, IronXL nie wymaga zainstalowania programu Microsoft Excel na serwerze ani stacji roboczej. Posiada własny interfejs API do obsługi zadań związanych z manipulowaniem plikami Excel.
Jak licencjonowanie IronXL ma się do Syncfusion Excel?
IronXL oferuje bezpłatną wersję deweloperską z znakiem wodnym oraz kilka płatnych edycji do użytku komercyjnego, zapewniając elastyczny model licencjonowania. Natomiast Syncfusion Excel wymaga zakupu licencji, a ceny zależą od liczby programistów i projektów.
Co sprawia, że IronXL jest lepszym wyborem dla początkujących w porównaniu z Syncfusion Excel?
IronXL jest ogólnie łatwiejszy dla początkujących dzięki prostemu i intuicyjnemu API, które pozwala na wykonywanie złożonych zadań przy użyciu minimalnej ilości kodu. W przeciwieństwie do Syncfusion Excel, IronXL nie wymaga definiowania wielu parametrów, co czyni go bardziej dostępnym dla programistów, którzy dopiero zaczynają pracę z Excelem.
Czy IronXL radzi sobie z ochroną i zabezpieczeniami plików Excel?
Tak, IronXL umożliwia zarządzanie zabezpieczeniami plików Excel, pozwalając użytkownikom zabezpieczać dokumenty hasłami i innymi funkcjami ochronnymi. Zapewnia to integralność i poufność danych podczas udostępniania plików Excel.
Dlaczego programiści powinni rozważyć użycie IronXL zamiast Syncfusion Excel?
Programiści mogą wybrać IronXL zamiast Syncfusion Excel ze względu na jego prostotę, łatwość obsługi, opłacalność oraz solidny zestaw funkcji, który nie wymaga dodatkowych bibliotek dla różnych platform. IronXL oferuje proste podejście do manipulacji plikami Excel, co czyni go idealnym wyborem dla programistów.
Czy IronXL obsługuje formule w plikach Excel?
Tak, IronXL obsługuje formuły programu Excel, umożliwiając odczytywanie, zapisywanie i ocenianie formuł w plikach Excel, zapewniając kompleksowe rozwiązanie do programowego wykonywania złożonych obliczeń.




