Przejdź do treści stopki
PORóWNAJ Z INNYMI KOMPONENTAMI

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:

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 Aplikacja konsolowa

  • Nadaj nazwę projektowi i kliknij przycisk Dalej.

    Konfiguracja projektu 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 Framework .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:

  1. Konsola menedżera pakietów
  2. 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 Konsola menedżera pakietów

  • Wpisz następujące polecenie i naciśnij Enter.

    Install-Package IronXL
    Install-Package IronXL
    SHELL
  • Rozpocznie się instalacja biblioteki IronXL.

    Instalacja 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 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 Zarządzaj pakietami NuGet

  • Kliknij IronXl.Excel i 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.WinForms
    Install-Package Syncfusion.XlsIO.WinForms
    SHELL
  • Jeśli pracujesz nad projektem WPF, wpisz następujące polecenie:

    Install-package Syncfusion.XlsIO.Wpf
    Install-package Syncfusion.XlsIO.Wpf
    SHELL
  • 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

Wynik:

Wynik IronXL 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
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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")
$vbLabelText   $csharpLabel

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)
$vbLabelText   $csharpLabel

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()
$vbLabelText   $csharpLabel

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
$vbLabelText   $csharpLabel

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 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 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 Unlimited

IronXL obsługuje również dystrybucję tantiem, a także oferuje wsparcie techniczne i aktualizacje produktów.

Rozdziałanie tantiem 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 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.

Zwróć uwagęSyncfusion jest zastrzeżonym znakiem towarowym odpowiedniego właściciela. Ta strona nie jest powiązana z firmą Syncfusion, nie jest przez nią promowana ani sponsorowana. Wszystkie nazwy produktów, logo i marki są własnością ich odpowiednich właścicieli. Porównania mają charakter wyłącznie informacyjny i odzwierciedlają informacje dostępne publicznie w momencie pisania.

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ń.

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