Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak pracować z plikami Excel w języku C#: Rysunek 1 – Samouczek

IronXL to potężna biblioteka C#, która umożliwia programistom odczytywanie, zapisywanie i manipulowanie plikami Excel bez konieczności instalacji programu Microsoft Excel, oferując kompatybilność międzyplatformową i obsługując formaty takie jak XLS, XLSX, CSV za pomocą intuicyjnego API.

Jak pracować ze skoroszytem Excel w języku C#?

  1. Utwórz projekt Visual Studio i dodaj pakiet IronXL NuGet.
  2. Utwórz plik Excel bez Interop.
  3. Dodaj styl do pliku Excel za pomocą IronXL.
  4. Odczytaj wartości z Excela i wykonaj obliczenia.
  5. Konwersja plików Excel do formatu HTML do użytku w sieci.

Czym jest biblioteka IronXL?

Biblioteka IronXL for .NET to solidna biblioteka, która ułatwia pracę z plikami Excel. Posiada intuicyjny interfejs API, który upraszcza obsługę dokumentów Excel, obsługując różne formaty, takie jak XLS, XLSX i CSV. Ta wszechstronność pozwala na łatwą manipulację wartościami komórek, formułami i formatowaniem. IronXL jest zoptymalizowany pod kątem wydajności, umożliwiając wydajną obsługę dużych plików i złożonych operacji na danych, przy jednoczesnym zapewnieniu efektywnego wykorzystania pamięci. Jego kompatybilność międzyplatformowa zwiększa jego użyteczność w różnych systemach operacyjnych. Oto jego kluczowe cechy i zalety:

Jakie są kluczowe funkcje IronXL?

  1. Import i eksport:

  2. Manipulacja danymi:

  3. Stylizacja i formatowanie:

  4. Bezpieczeństwo:

  5. Kompatybilność międzyplatformowa:

Dłączego warto wybrać bibliotekę IronXL zamiast innych bibliotek Excel?

  1. Nie wymaga pakietu Microsoft Office: IronXL nie wymaga instalacji pakietu Microsoft Office, dzięki czemu jest lekki i łatwy we wdrożeniu.
  2. Łatwość użytkowania: API jest intuicyjne i łatwe w użyciu, co pozwala programistom na szybką integrację funkcji programu Excel z ich aplikacjami.
  3. Wydajność: IronXL jest zoptymalizowany pod kątem wydajności, zapewniając szybkie i sprawne przetwarzanie dużych plików Excel.
  4. Wszechstronność: Nadaje się do szerokiego zakresu zastosowań, w tym rozwiązań internetowych, stacjonarnych i opartych na chmurze.
  5. Kompleksowa dokumentacja: Dostępna jest obszerna dokumentacja i przykłady, co ułatwia programistom rozpoczęcie pracy i znalezienie rozwiązań typowych problemów.

Jak rozpocząć pracę z IronXL?

Aby korzystać z IronXL w projektach .NET, należy upewnić się, że środowisko programistyczne spełnia następujące wymagania wstępne:

Jakie są wymagania wstępne dotyczące korzystania z IronXL?

  1. .NET Framework: IronXL obsługuje .NET Framework 4.5 i nowsze wersje.
  2. .NET Core i .NET Standard: Kompatybilne z .NET Core 2, 3, 5, 6, 7, 8 i 9.
  3. Systemy operacyjne: Działa na systemach Windows, macOS i Linux. Kompatybilne z Dockerem, Azure i AWS.
  4. Nie ma potrzeby korzystania z pakietu Microsoft Office: IronXL nie wymaga pakietu Office ani interoperacyjności z programem Excel.
  5. Edytor kodu: dowolny edytor kodu C#, taki jak Visual Studio.

Jak zainstalować IronXL w moim projekcie?

Możesz zainstalować IronXL za pomocą menedżera pakietów NuGet w Visual Studio lub za pomocą konsoli menedżera pakietów, używając następującego polecenia:

dotnet add package IronXl.Excel --version 2024.8.5
dotnet add package IronXl.Excel --version 2024.8.5
SHELL

Aby uzyskać bardziej szczegółowe instrukcje instalacji, w tym konfigurację projektów Blazor, .NET MAUI lub VB.NET, zapoznaj się z oficjalną dokumentacją.

Jak utworzyć swój pierwszy plik Excel za pomocą IronXL?

Stwórzmy projekt w Visual Studio i dodajmy bibliotekę IronXL, aby rozpocząć pracę z plikiem Excel.

Jak utworzyć projekt Visual Studio i dodać IronXL?

Otwórz program Microsoft Visual Studio i wybierz opcję "Utwórz nowy projekt", aby rozpocząć pracę.

Ekran startowy programu Visual Studio 2022 przedstawiający opcje otwierania ostatnich projektów, klonowania repozytorium, otwierania projektu/rozwiązania, otwierania folderu lokalnego lub tworzenia nowego projektu.

Wybierz wybrany szablon projektu. Tutaj dla uproszczenia wybraliśmy aplikację konsolową.

Okno dialogowe

Teraz wprowadź nazwę projektu i lokalizację projektu.

Okno dialogowe konfiguracji projektu Visual Studio przedstawiające ustawienia nowej aplikacji konsolowej w języku C# o nazwie

Wybierz preferowaną wersję .NET Framework. Wybraliśmy najnowszą wersję dostępną na naszym komputerze.

Okno dialogowe tworzenia projektu Visual Studio przedstawiające konfigurację aplikacji konsolowej z wybranym .NET Framework 8.0 oraz dodatkowymi opcjami dotyczącymi instrukcji najwyższego poziomu i publikacji AOT

Po kliknięciu przycisku Utwórz projekt zostanie utworzony i będzie gotowy do użycia. Otwórz Eksplorator rozwiązań, aby sprawdzić pliki projektu.

Menedżer pakietów NuGet w Visual Studio pokazujący instalację pakietu IronXl.Excel z wersją 2024.8.5 wybraną dla projektu C# o nazwie WorkingWithIronXL

Teraz zainstalujmy bibliotekę IronXL z menedżera pakietów NuGet, tak jak pokazano powyżej.

Jak utworzyć plik Excel bez Interop?

Teraz stwórzmy plik Excel bez użycia biblioteki Microsoft Interop. IronXL zapewnia prosty i intuicyjny sposób programowego tworzenia arkuszy kalkulacyjnych.

using IronXL;

namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create new Excel WorkBook Object
            WorkBook workBook = WorkBook.Create();
            // Create WorkSheet
            WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
            // Add data in new worksheet
            workSheet["A1"].Value = "IronXL is the best Excel library";           
            // Save the Excel file as XLSX
            workBook.SaveAs("myIronXlDemo.xlsx");
        }
    }
}
using IronXL;

namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create new Excel WorkBook Object
            WorkBook workBook = WorkBook.Create();
            // Create WorkSheet
            WorkSheet workSheet = workBook.CreateWorkSheet("newXlDemo");
            // Add data in new worksheet
            workSheet["A1"].Value = "IronXL is the best Excel library";           
            // Save the Excel file as XLSX
            workBook.SaveAs("myIronXlDemo.xlsx");
        }
    }
}
Imports IronXL

Namespace WorkingWithIronXL
	Public Class Program
		Public Shared Sub Main()
			' Create new Excel WorkBook Object
			Dim workBook As WorkBook = WorkBook.Create()
			' Create WorkSheet
			Dim workSheet As WorkSheet = workBook.CreateWorkSheet("newXlDemo")
			' Add data in new worksheet
			workSheet("A1").Value = "IronXL is the best Excel library"
			' Save the Excel file as XLSX
			workBook.SaveAs("myIronXlDemo.xlsx")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Dodajemy przestrzeń nazw IronXL, aby rozpocząć pracę z biblioteką IronXL.
  2. Utwórz obiekt Excel z WorkBook.Create(), aby utworzyć plik XLSX.
  3. Wywołaj metodę CreateWorkSheet, aby utworzyć arkusz w skoroszycie.
  4. Dodaj wartości do komórek za pomocą workSheet["A1"].Value.
  5. Zapisz plik Excel używając workBook.SaveAs, podając nazwę pliku.

Plik wyjściowy w formacie Excel

Arkusz kalkulacyjny Excel zawierający tekst

Dłączego IronXL nie wymaga Interop?

W przeciwieństwie do tradycyjnych rozwiązań opartych na interfejsie Microsoft Excel Interop, IronXL jest samodzielną biblioteką .NET, która bezpośrednio odczytuje i zapisuje pliki Excel. Oznacza to, że:

  • Nie wymaga instalacji pakietu Microsoft Office
  • Lepsza wydajność i zużycie pamięci
  • Kompatybilność międzyplatformowa (Linux, macOS, Docker)
  • Brak problemów z czyszczeniem obiektów COM
  • Operacje bezpieczne dla wątków

W jakich formatach plików mogę zapisywać pliki?

IronXL obsługuje zapis w wielu formatach:

// Save as different Excel formats
workBook.SaveAs("file.xlsx"); // Excel 2007+ format
workBook.SaveAs("file.xls");  // Excel 97-2003 format
workBook.SaveAs("file.xlsm"); // Excel with macros

// Export to other formats
workBook.SaveAsCsv("file.csv", ",");  // CSV with comma delimiter
workBook.SaveAsJson("file.json");     // JSON format
workBook.SaveAsXml("file.xml");       // XML format
// Save as different Excel formats
workBook.SaveAs("file.xlsx"); // Excel 2007+ format
workBook.SaveAs("file.xls");  // Excel 97-2003 format
workBook.SaveAs("file.xlsm"); // Excel with macros

// Export to other formats
workBook.SaveAsCsv("file.csv", ",");  // CSV with comma delimiter
workBook.SaveAsJson("file.json");     // JSON format
workBook.SaveAsXml("file.xml");       // XML format
' Save as different Excel formats
workBook.SaveAs("file.xlsx") ' Excel 2007+ format
workBook.SaveAs("file.xls")  ' Excel 97-2003 format
workBook.SaveAs("file.xlsm") ' Excel with macros

' Export to other formats
workBook.SaveAsCsv("file.csv", ",")  ' CSV with comma delimiter
workBook.SaveAsJson("file.json")     ' JSON format
workBook.SaveAsXml("file.xml")       ' XML format
$vbLabelText   $csharpLabel

Jak radzić sobie z błędami podczas tworzenia plików?

IronXL zapewnia kompleksową obsługę błędów. Oto przykład najlepszej praktyki:

try 
{
    WorkBook workBook = WorkBook.Create();
    WorkSheet workSheet = workBook.CreateWorkSheet("Demo");
    workSheet["A1"].Value = "Sample Data";

    // Check if directory exists
    string directory = @"C:\ExcelFiles\";
    if (!Directory.Exists(directory))
    {
        Directory.CreateDirectory(directory);
    }

    workBook.SaveAs(Path.Combine(directory, "output.xlsx"));
}
catch (Exception ex)
{
    Console.WriteLine($"Error creating Excel file: {ex.Message}");
}
try 
{
    WorkBook workBook = WorkBook.Create();
    WorkSheet workSheet = workBook.CreateWorkSheet("Demo");
    workSheet["A1"].Value = "Sample Data";

    // Check if directory exists
    string directory = @"C:\ExcelFiles\";
    if (!Directory.Exists(directory))
    {
        Directory.CreateDirectory(directory);
    }

    workBook.SaveAs(Path.Combine(directory, "output.xlsx"));
}
catch (Exception ex)
{
    Console.WriteLine($"Error creating Excel file: {ex.Message}");
}
Imports System
Imports System.IO

Try
    Dim workBook As WorkBook = WorkBook.Create()
    Dim workSheet As WorkSheet = workBook.CreateWorkSheet("Demo")
    workSheet("A1").Value = "Sample Data"

    ' Check if directory exists
    Dim directory As String = "C:\ExcelFiles\"
    If Not Directory.Exists(directory) Then
        Directory.CreateDirectory(directory)
    End If

    workBook.SaveAs(Path.Combine(directory, "output.xlsx"))
Catch ex As Exception
    Console.WriteLine($"Error creating Excel file: {ex.Message}")
End Try
$vbLabelText   $csharpLabel

Jak dodać stylizację do plików Excel za pomocą IronXL?

Zobaczmy teraz, jak dodawać style do komórek programu Excel. IronXL oferuje szerokie możliwości stylizacji, pozwalające tworzyć profesjonalnie wyglądające arkusze kalkulacyjne.

using IronXL;

namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create a new workbook
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Create a new worksheet
            WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
            // Add multiple values to cells
            workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
            workSheet["A2"].Value = 999999;
            // Apply styles to cells
            workSheet["A1"].Style.Font.Bold = true;
            workSheet["A1"].Style.Font.Italic = true;
            workSheet["A1"].Style.Font.Height = 14;
            workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
            workSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;
            workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
            // Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx");
        }
    }
}
using IronXL;

namespace WorkingWithIronXL
{
    public class Program
    {
        public static void Main()
        {
            // Create a new workbook
            WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
            // Create a new worksheet
            WorkSheet workSheet = workBook.CreateWorkSheet("StyledSheet");
            // Add multiple values to cells
            workSheet["A1"].Value = "This Styled Text with Awesome IronXL library";
            workSheet["A2"].Value = 999999;
            // Apply styles to cells
            workSheet["A1"].Style.Font.Bold = true;
            workSheet["A1"].Style.Font.Italic = true;
            workSheet["A1"].Style.Font.Height = 14;
            workSheet["A1"].Style.Font.Color = "#FF0000"; // Red color
            workSheet["A2"].Style.BottomBorder.Type = IronXl.Styles.BorderType.Double;
            workSheet["A2"].Style.BottomBorder.SetColor("#00FF00"); // Green color
            // Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx");
        }
    }
}
Imports IronXL

Namespace WorkingWithIronXL
    Public Class Program
        Public Shared Sub Main()
            ' Create a new workbook
            Dim workBook As WorkBook = WorkBook.Create(ExcelFileFormat.XLSX)
            ' Create a new worksheet
            Dim workSheet As WorkSheet = workBook.CreateWorkSheet("StyledSheet")
            ' Add multiple values to cells
            workSheet("A1").Value = "This Styled Text with Awesome IronXL library"
            workSheet("A2").Value = 999999
            ' Apply styles to cells
            workSheet("A1").Style.Font.Bold = True
            workSheet("A1").Style.Font.Italic = True
            workSheet("A1").Style.Font.Height = 14
            workSheet("A1").Style.Font.Color = "#FF0000" ' Red color
            workSheet("A2").Style.BottomBorder.Type = IronXl.Styles.BorderType.Double
            workSheet("A2").Style.BottomBorder.SetColor("#00FF00") ' Green color
            ' Save the workbook
            workBook.SaveAs("myIronXlWriteDemo.xlsx")
        End Sub
    End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Utwórz plik Excel przy użyciu WorkBook.Create.
  2. Utwórz arkusz roboczy przy użyciu workBook.CreateWorkSheet.
  3. Dodaj wartości do komórek za pomocą workSheet["A1"].Value.
  4. Dodaj style do komórek, używając właściwości takich jak workSheet["A1"].Style.Font.Bold.
  5. Zapisz skoroszyt, używając workBook.SaveAs.

Plik wyjściowy w formacie Excel

Arkusz kalkulacyjny Excel zawierający tekst w kolorze czerwonym i kursywą

Jakie opcje stylizacji są dostępne?

IronXL oferuje szerokie możliwości stylizacji, w tym:

Jak zastosować style do wielu komórek?

Możesz efektywnie stosować style do zakresów komórek:

// Apply styles to a range
var range = workSheet["A1:D10"];
foreach (var cell in range)
{
    cell.Style.Font.Bold = true;
    cell.Style.Font.Color = "#0000FF"; // Blue
    cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background
}
// Apply styles to a range
var range = workSheet["A1:D10"];
foreach (var cell in range)
{
    cell.Style.Font.Bold = true;
    cell.Style.Font.Color = "#0000FF"; // Blue
    cell.Style.SetBackgroundColor("#FFFF00"); // Yellow background
}
' Apply styles to a range
Dim range = workSheet("A1:D10")
For Each cell In range
    cell.Style.Font.Bold = True
    cell.Style.Font.Color = "#0000FF" ' Blue
    cell.Style.SetBackgroundColor("#FFFF00") ' Yellow background
Next
$vbLabelText   $csharpLabel

Czy mogę używać formatowania warunkówego?

Tak, IronXL obsługuje formatowanie warunkówe:

// Add conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(
    ComparisonOperator.GreaterThan, "100");
rule.FontFormatting.Bold = true;
rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);
// Add conditional formatting rule
var rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(
    ComparisonOperator.GreaterThan, "100");
rule.FontFormatting.Bold = true;
rule.FontFormatting.FontColor = "#FF0000"; // Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule);
' Add conditional formatting rule
Dim rule = workSheet.ConditionalFormatting.CreateConditionalFormattingRule(ComparisonOperator.GreaterThan, "100")
rule.FontFormatting.Bold = True
rule.FontFormatting.FontColor = "#FF0000" ' Red for values > 100
workSheet.ConditionalFormatting.AddConditionalFormatting("A1:A10", rule)
$vbLabelText   $csharpLabel

Jak odczytać wartości z Excela i wykonać obliczenia?

Zobaczmy teraz, jak odczytywać pliki Excel za pomocą IronXL i wykonywać obliczenia. IronXL obsługuje różne funkcje matematyczne do analizy danych.

using IronXL;
using System;

namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ReadData()
        {
            // Load the Excel worksheet
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            // Select the first worksheet
            WorkSheet workSheet = workBook.WorkSheets[0];
            // Read a specific cell value
            int cellValue = workSheet["A2"].IntValue;
            Console.WriteLine($"Value in A2: {cellValue}");
            // Read a range of cells
            foreach (var cell in workSheet["A1:H10"])
            {
                Console.Write($"{cell.Text}\t");
                if(cell.AddressString.Contains("H"))
                {
                    Console.WriteLine();
                }
            }
            // Calculate aggregate values
            decimal sum = workSheet["F2:F10"].Sum();
            Console.WriteLine($"Sum of F2:F10: {sum}");
        }
    }
}
using IronXL;
using System;

namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ReadData()
        {
            // Load the Excel worksheet
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            // Select the first worksheet
            WorkSheet workSheet = workBook.WorkSheets[0];
            // Read a specific cell value
            int cellValue = workSheet["A2"].IntValue;
            Console.WriteLine($"Value in A2: {cellValue}");
            // Read a range of cells
            foreach (var cell in workSheet["A1:H10"])
            {
                Console.Write($"{cell.Text}\t");
                if(cell.AddressString.Contains("H"))
                {
                    Console.WriteLine();
                }
            }
            // Calculate aggregate values
            decimal sum = workSheet["F2:F10"].Sum();
            Console.WriteLine($"Sum of F2:F10: {sum}");
        }
    }
}
Imports Microsoft.VisualBasic
Imports IronXL
Imports System

Namespace WorkingWithIronXL
	Friend Class IronXlDemo
		Public Shared Sub ReadData()
			' Load the Excel worksheet
			Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
			' Select the first worksheet
			Dim workSheet As WorkSheet = workBook.WorkSheets(0)
			' Read a specific cell value
			Dim cellValue As Integer = workSheet("A2").IntValue
			Console.WriteLine($"Value in A2: {cellValue}")
			' Read a range of cells
			For Each cell In workSheet("A1:H10")
				Console.Write($"{cell.Text}" & vbTab)
				If cell.AddressString.Contains("H") Then
					Console.WriteLine()
				End If
			Next cell
			' Calculate aggregate values
			Dim sum As Decimal = workSheet("F2:F10").Sum()
			Console.WriteLine($"Sum of F2:F10: {sum}")
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Załaduj plik Excel za pomocą WorkBook.Load.
  2. Otwórz pierwszy arkusz w skoroszycie.
  3. Odczytaj wartość konkretnej komórki i wyświetl ją za pomocą Console.WriteLine.
  4. Przejrzyj zakres komórek i PRINT każdą wartość. PRINT nowe wiersze po kolumnie H.
  5. Oblicz sumę wartości w zakresie F2:F10 i PRINT ją.

Plik wejściowy Excel

Arkusz kalkulacyjny Excel zawierający dane pracowników z kolumnami: ID, imię, nazwisko, płeć, kraj, wiek, data oraz unikalny identyfikator, przedstawiający 9 wierszy przykładowych rekordów pracowników.

Wynik

Wynik konsoli przedstawiający tabelę danych zawierającą 10 wierszy rekordów osób, w tym pola imię i nazwisko, płeć, kraj, wiek, data i identyfikator, a następnie obliczenie sumy kolumn F2:F10 wynoszącej 323.

Jakie typy danych mogę odczytać z komórek?

IronXL obsługuje odczyt różnych typów danych z komórek:

// Different ways to read cell values
string textValue = workSheet["A1"].StringValue;
int intValue = workSheet["B1"].IntValue;
decimal decimalValue = workSheet["C1"].DecimalValue;
double doubleValue = workSheet["D1"].DoubleValue;
DateTime dateValue = workSheet["E1"].DateTimeValue;
bool boolValue = workSheet["F1"].BoolValue;

// Read formula results
string formulaResult = workSheet["G1"].FormattedCellValue;
// Different ways to read cell values
string textValue = workSheet["A1"].StringValue;
int intValue = workSheet["B1"].IntValue;
decimal decimalValue = workSheet["C1"].DecimalValue;
double doubleValue = workSheet["D1"].DoubleValue;
DateTime dateValue = workSheet["E1"].DateTimeValue;
bool boolValue = workSheet["F1"].BoolValue;

// Read formula results
string formulaResult = workSheet["G1"].FormattedCellValue;
' Different ways to read cell values
Dim textValue As String = workSheet("A1").StringValue
Dim intValue As Integer = workSheet("B1").IntValue
Dim decimalValue As Decimal = workSheet("C1").DecimalValue
Dim doubleValue As Double = workSheet("D1").DoubleValue
Dim dateValue As DateTime = workSheet("E1").DateTimeValue
Dim boolValue As Boolean = workSheet("F1").BoolValue

' Read formula results
Dim formulaResult As String = workSheet("G1").FormattedCellValue
$vbLabelText   $csharpLabel

Jak postępować z pustymi lub zerowymi komórkami?

IronXL zapewnia bezpieczne sposoby obsługi pustych komórek:

// Check if cell is empty
if (workSheet["A1"].IsEmpty)
{
    Console.WriteLine("Cell A1 is empty");
}

// Use null-coalescing for safe value reading
string value = workSheet["A1"].StringValue ?? "Default Value";

// Check for specific content types
if (workSheet["B1"].IsNumeric)
{
    decimal numValue = workSheet["B1"].DecimalValue;
}
// Check if cell is empty
if (workSheet["A1"].IsEmpty)
{
    Console.WriteLine("Cell A1 is empty");
}

// Use null-coalescing for safe value reading
string value = workSheet["A1"].StringValue ?? "Default Value";

// Check for specific content types
if (workSheet["B1"].IsNumeric)
{
    decimal numValue = workSheet["B1"].DecimalValue;
}
' Check if cell is empty
If workSheet("A1").IsEmpty Then
    Console.WriteLine("Cell A1 is empty")
End If

' Use null-coalescing for safe value reading
Dim value As String = If(workSheet("A1").StringValue, "Default Value")

' Check for specific content types
If workSheet("B1").IsNumeric Then
    Dim numValue As Decimal = workSheet("B1").DecimalValue
End If
$vbLabelText   $csharpLabel

Jakie funkcje agregujące są dostępne?

IronXL obsługuje różne funkcje agregujące:

// Available aggregate functions
decimal sum = workSheet["A1:A10"].Sum();
decimal avg = workSheet["A1:A10"].Avg();
decimal min = workSheet["A1:A10"].Min();
decimal max = workSheet["A1:A10"].Max();
int count = workSheet["A1:A10"].Count();
// Available aggregate functions
decimal sum = workSheet["A1:A10"].Sum();
decimal avg = workSheet["A1:A10"].Avg();
decimal min = workSheet["A1:A10"].Min();
decimal max = workSheet["A1:A10"].Max();
int count = workSheet["A1:A10"].Count();
' Available aggregate functions
Dim sum As Decimal = workSheet("A1:A10").Sum()
Dim avg As Decimal = workSheet("A1:A10").Avg()
Dim min As Decimal = workSheet("A1:A10").Min()
Dim max As Decimal = workSheet("A1:A10").Max()
Dim count As Integer = workSheet("A1:A10").Count()
$vbLabelText   $csharpLabel

Jak przekonwertować plik Excel na HTML do użytku w sieci?

Zobaczmy, jak przekonwertować plik Excel na HTML do użytku w sieci. Jest to szczególnie przydatne do wyświetlania danych z Excela w aplikacjach internetowych.

using IronXL;
using IronXl.Options;

namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ConvertToHtml()
        {
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            var options = new HtmlExportOptions()
            {
                // Set row/column numbers visible in HTML document
                OutputRowNumbers = true,
                OutputColumnHeaders = true,
                // Set hidden rows/columns visible in HTML document
                OutputHiddenRows = true,
                OutputHiddenColumns = true,
                // Set leading spaces as non-breaking
                OutputLeadingSpacesAsNonBreaking = true
            };
            // Export workbook to the HTML file
            workBook.ExportToHtml("workBook.html", options);
        }
    }
}
using IronXL;
using IronXl.Options;

namespace WorkingWithIronXL
{
    internal class IronXlDemo
    {
        public static void ConvertToHtml()
        {
            WorkBook workBook = WorkBook.Load("sampleEmployeeData.xlsx");
            var options = new HtmlExportOptions()
            {
                // Set row/column numbers visible in HTML document
                OutputRowNumbers = true,
                OutputColumnHeaders = true,
                // Set hidden rows/columns visible in HTML document
                OutputHiddenRows = true,
                OutputHiddenColumns = true,
                // Set leading spaces as non-breaking
                OutputLeadingSpacesAsNonBreaking = true
            };
            // Export workbook to the HTML file
            workBook.ExportToHtml("workBook.html", options);
        }
    }
}
Imports IronXL
Imports IronXl.Options

Namespace WorkingWithIronXL

    Friend Class IronXlDemo

        Public Shared Sub ConvertToHtml()
            Dim workBook As WorkBook = WorkBook.Load("sampleEmployeeData.xlsx")
            Dim options As New HtmlExportOptions() With {
                .OutputRowNumbers = True,
                .OutputColumnHeaders = True,
                .OutputHiddenRows = True,
                .OutputHiddenColumns = True,
                .OutputLeadingSpacesAsNonBreaking = True
            }
            workBook.ExportToHtml("workBook.html", options)
        End Sub

    End Class

End Namespace
$vbLabelText   $csharpLabel

Wyjaśnienie kodu

  1. Załaduj plik Excel przy użyciu metody Load.
  2. Ustaw opcje konwersji HTML za pomocą HtmlExportOptions.
  3. Użyj metody ExportToHtml, aby przekonwertować i zapisać jako HTML.

Dane wejściowe

Arkusz kalkulacyjny Excel zawierający przykładowe dane pracowników z kolumnami: ID, Imię, Nazwisko, Płeć, Kraj, Wiek, Data i Id, zawierający 9 wierszy informacji o pracownikach.

Wynik

Tabela HTML wyświetlająca dane z Excela z kolumnami: Imię, Nazwisko, Płeć, Kraj, Wiek, Data i Id, zawierająca 9 wierszy przykładowych danych pracowników.

Jakie opcje eksportu HTML są dostępne?

IronXL oferuje różne opcje eksportu do formatu HTML:

var htmlOptions = new HtmlExportOptions()
{
    // Table formatting options
    OutputRowNumbers = true,
    OutputColumnHeaders = true,

    // Visibility options  
    OutputHiddenRows = false,
    OutputHiddenColumns = false,

    // Formatting preservation
    OutputLeadingSpacesAsNonBreaking = true,

    // Custom CSS class
    TableCssClass = "excel-table"
};
var htmlOptions = new HtmlExportOptions()
{
    // Table formatting options
    OutputRowNumbers = true,
    OutputColumnHeaders = true,

    // Visibility options  
    OutputHiddenRows = false,
    OutputHiddenColumns = false,

    // Formatting preservation
    OutputLeadingSpacesAsNonBreaking = true,

    // Custom CSS class
    TableCssClass = "excel-table"
};
Dim htmlOptions As New HtmlExportOptions() With {
    .OutputRowNumbers = True,
    .OutputColumnHeaders = True,
    .OutputHiddenRows = False,
    .OutputHiddenColumns = False,
    .OutputLeadingSpacesAsNonBreaking = True,
    .TableCssClass = "excel-table"
}
$vbLabelText   $csharpLabel

Jak zachować formatowanie w HTML?

IronXL automatycznie zachowuje podstawowe formatowanie podczas eksportu do HTML. W celu zachowania zaawansowanego formatowania:

// Export with inline CSS styles
workBook.ExportToHtml("styled.html", new HtmlExportOptions
{
    OutputRowNumbers = false,
    OutputColumnHeaders = true,
    // Preserves cell styles as inline CSS
    PreserveStyles = true
});
// Export with inline CSS styles
workBook.ExportToHtml("styled.html", new HtmlExportOptions
{
    OutputRowNumbers = false,
    OutputColumnHeaders = true,
    // Preserves cell styles as inline CSS
    PreserveStyles = true
});
' Export with inline CSS styles
workBook.ExportToHtml("styled.html", New HtmlExportOptions With {
    .OutputRowNumbers = False,
    .OutputColumnHeaders = True,
    ' Preserves cell styles as inline CSS
    .PreserveStyles = True
})
$vbLabelText   $csharpLabel

Czy mogę wyeksportować tylko określone arkusze?

Tak, można eksportować poszczególne arkusze:

// Export specific worksheet
WorkSheet sheet = workBook.GetWorkSheet("Sheet1");
sheet.SaveAsHtml("sheet1.html");

// Export multiple specific sheets
foreach (var sheetName in new[] { "Sheet1", "Sheet3" })
{
    workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html");
}
// Export specific worksheet
WorkSheet sheet = workBook.GetWorkSheet("Sheet1");
sheet.SaveAsHtml("sheet1.html");

// Export multiple specific sheets
foreach (var sheetName in new[] { "Sheet1", "Sheet3" })
{
    workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html");
}
' Export specific worksheet
Dim sheet As WorkSheet = workBook.GetWorkSheet("Sheet1")
sheet.SaveAsHtml("sheet1.html")

' Export multiple specific sheets
For Each sheetName As String In {"Sheet1", "Sheet3"}
    workBook.GetWorkSheet(sheetName).SaveAsHtml($"{sheetName}.html")
Next
$vbLabelText   $csharpLabel

Jakie są rzeczywiste przykłady zastosowań IronXL?

IronXL to wszechstronna biblioteka .NET o szerokim zakresie praktycznych zastosowań, w tym:

1. Raportowanie biznesowe:

  • Automatyzacja okresowych raportów, takich jak podsumowania sprzedaży i sprawozdania finansowe.
  • Tworzenie niestandardowych pulpitów nawigacyjnych na podstawie różnych źródeł danych.
  • Eksportowanie danych do programu Excel na potrzeby prezentacji dla interesariuszy.

2. Analiza danych:

3. Zarządzanie zapasami:

  • Zarządzanie zapasami produktów wraz z informacjami o stanach magazynowych i dostawcach.
  • Generowanie raportów dotyczących zasobów w celu śledzenia trendów.
  • Importowanie danych CSV od dostawców.

4. Zarządzanie relacjami z klientami (CRM):

5. Instytucje edukacyjne:

  • Tworzenie dzienników ocen i rejestrów obecności uczniów.
  • Generowanie wyników egzaminów i analiza wyników.
  • Wykorzystanie formuł do automatycznego obliczania ocen.

6. Usługi finansowe:

  • Automatyzacja modeli finansowych, budżetów i prognoz.
  • Konsolidacja danych finansowych w celu sporządzenia kompleksowych raportów.
  • Tworzenie wykresów do analizy wizualnej.

7. Zasoby ludzkie:

  • Zarządzanie danymi pracowników, w tym listami płac i ocenami.
  • Generowanie raportów dotyczących wskaźników kadrowych i danych demograficznych.
  • Ochrona wrażliwych danych za pomocą szyfrowania hasłem.

8. Zarządzanie projektami:

  • Śledzenie harmonogramów projektów i alokacji zasobów.
  • Tworzenie wykresów Gantta i narzędzi do zarządzania projektami.
  • Wykorzystanie nazwanych zakresów do zarządzania formułami.

9. E-commerce:

  • Eksportowanie szczegółów zamówień, informacji o klientach i danych dotyczących sprzedaży z platform e-commerce do programu Excel.
  • Analiza trendów sprzedaży, zachowań klientów i wyników produktów.

10. Opieka zdrowotna:

  • Zarządzanie dokumentacją pacjentów i harmonogramami wizyt.
  • Analiza danych dotyczących opieki zdrowotnej w celu poprawy jakości opieki nad pacjentami.
  • Zabezpieczanie danych pacjentów za pomocą ochrony arkuszy.

Które branże czerpią największe korzyści z IronXL?

Największe korzyści odniosą branże, które mają do czynienia z dużymi ilościami ustrukturyzowanych danych:

W jaki sposób IronXL radzi sobie z przetwarzaniem danych na dużą skalę?

IronXL jest zoptymalizowany pod kątem wydajności dzięki:

  • Efektywne zarządzanie pamięcią w przypadku dużych plików
  • Możliwości strumieniowania ogromnych zbiorów danych
  • Obsługa przetwarzania w tle
  • Operacje bezpieczne w środowisku wielowątkowym

Jakie są typowe scenariusze integracji?

Typowe scenariusze integracji obejmują:

Jak uzyskać licencję IronXL do użytku produkcyjnego?

IronXL to biblioteka Enterprise dla przedsiębiorstw firmy Iron Software. Do działania wymaga licencji. Możesz pobrać Licencję Trial, używając swojego adresu e-mail, tutaj. Po przesłaniu licencja zostanie dostarczona na Twój adres e-mail. Umieść tę licencję na początku swojego kodu, przed użyciem IronXL:

License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here";
License.LicenseKey = "your Key Here"
$vbLabelText   $csharpLabel

Jakie rodzaje licencji są dostępne?

IronXL oferuje kilka rodzajów licencji:

  • Lite License: Dla indywidualnych programistów
  • Professional License: Dla małych zespołów
  • Licencja Enterprise: Dla dużych organizacji
  • Licencja SaaS: Dla aplikacji opartych na chmurze
  • Licencja OEM: Do dalszego rozpowszechniania

Jak zastosować klucz licencyjny?

Klucz licencyjny można aktywować na kilka sposobów:

// Method 1: In code
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY";

// Method 2: Using app.config or web.config
// Add to configuration file:
// <appSettings>
//   <add key="IronXl.LicenseKey" value="YOUR-LICENSE-KEY"/>
// </appSettings>

// Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY");
// Method 1: In code
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY";

// Method 2: Using app.config or web.config
// Add to configuration file:
// <appSettings>
//   <add key="IronXl.LicenseKey" value="YOUR-LICENSE-KEY"/>
// </appSettings>

// Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY");
' Method 1: In code
IronXl.License.LicenseKey = "YOUR-LICENSE-KEY"

' Method 2: Using app.config or web.config
' Add to configuration file:
' <appSettings>
'   <add key="IronXl.LicenseKey" value="YOUR-LICENSE-KEY"/>
' </appSettings>

' Method 3: Using environment variable
Environment.SetEnvironmentVariable("IRONXL_LICENSE_KEY", "YOUR-LICENSE-KEY")
$vbLabelText   $csharpLabel

W przypadku aplikacji internetowych licencję można również ustawić w pliku Web.config.

Co się stanie po wygaśnięciu okresu próbnego?

Po wygaśnięciu okresu próbnego:

  • Na wygenerowanych plikach pojawia się znak wodny
  • Niektóre funkcje mogą być ograniczone
  • Wdrażanie produkcyjne jest niedozwolone

Aby nadal korzystać z IronXL, należy zakupić licencję komercyjną. Zespół oferuje przedłużenie licencji i aktualizacje dla obecnych klientów.

Czego dowiedzieliśmy się o pracy z plikami Excel w języku C#?

IronXL to potężna biblioteka .NET do tworzenia, odczytu i edycji plików Excel, oferująca intuicyjny interfejs API, który upraszcza pracę z dokumentami Excel. Obsługuje wiele formatów, w tym XLS, XLSX i CSV, dzięki czemu jest wszechstronny i nadaje się do różnych zastosowań. IronXL umożliwia łatwą manipulację wartościami komórek, formułami i formatowaniem oraz jest zoptymalizowany pod kątem wydajności, efektywnie obsługując duże pliki i złożone operacje. Zarządzanie pamięcią zapewnia responsywność aplikacji, a kompatybilność międzyplatformowa sprawia, że jest to cenne narzędzie dla programistów korzystających z różnych systemów operacyjnych.

Niezależnie od tego, czy tworzysz aplikacje internetowe, oprogramowanie desktopowe czy usługi w chmurze, IronXL zapewnia narzędzia niezbędne do efektywnej pracy z plikami Excel w języku C#. Aby zapoznać się z bardziej zaawansowanymi funkcjami, przejrzyj pełną dokumentację i zapoznaj się z obszernymi przykładami kodu.

Najważniejsze wnioski:

Bądź na bieżąco z najnowszymi funkcjami i ulepszeniami, sprawdzając dziennik zmian i kamieńie milowe dotyczące ciągłego udoskonalania IronXL.

Często Zadawane Pytania

Jak mogę edytować pliki Excel w języku C# bez zainstalowanego programu Microsoft Excel?

Możesz użyć biblioteki IronXL, biblioteki C# firmy Iron Software, do odczytu, zapisu i manipulacji dokumentami Excel bez konieczności korzystania z programu Microsoft Excel. Obsługuje ona różne formaty, takie jak XLS, XLSX i CSV, i może być używana w aplikacjach takich jak usługi internetowe, aplikacje desktopowe i konsolowe.

Jakie kroki należy wykonać, aby skonfigurować projekt Visual Studio do pracy z programem Excel w języku C#?

Aby skonfigurować projekt Visual Studio do pracy z programem Excel w języku C#, zainstaluj bibliotekę IronXL za pomocą menedżera pakietów NuGet. Użyj polecenia: dotnet add package IronXl.Excel --version 2024.8.5 w konsoli menedżera pakietów, aby dodać bibliotekę do projektu.

Czy mogę wykonywać obliczenia w plikach Excel przy użyciu języka C#?

Tak, korzystając z IronXL, można wykonywać obliczenia w plikach Excel. Biblioteka obsługuje formuły Excel, co pozwala na automatyzację obliczeń bezpośrednio w aplikacji napisanej w języku C#.

Jak przekonwertować plik Excel na HTML za pomocą języka C#?

IronXL udostępnia metodę ExportToHtml do konwersji plików Excel do formatu HTML. Metoda ta oferuje opcje dostosowywania, dzięki czemu wynikowy kod HTML spełnia wymagania użytkownika.

Jakie są zalety korzystania z IronXL do manipulacji plikami Excel w języku C#?

IronXL oferuje łatwość użytkowania dzięki intuicyjnemu API, zoptymalizowaną wydajność do obsługi dużych plików Excel oraz wszechstronność w różnych zastosowaniach. Jego kompatybilność międzyplatformowa i obszerna dokumentacja dodatkowo zwiększają jego użyteczność.

Czy za pomocą IronXL mogę zastosować zaawansowane formatowanie komórek w Excelu?

Tak, dzięki IronXL można stosować zaawansowane style w komórkach programu Excel, takie jak dostosowywanie czcionki, rozmiaru, koloru, obramowań i wyrównania za pomocą właściwości stylu w każdej komórce.

Czy IronXL nadaje się do obsługi plików Excel na różnych platformach?

Tak, IronXL został zaprojektowany jako rozwiązanie wieloplatformowe, kompatybilne z systemami Windows, macOS, Linux oraz srodowiskami takimi jak Docker, Azure i AWS, co czyni go idealnym rozwiązaniem dla różnorodnych scenariuszy wdrożeniowych.

Jak odczytać wartości komórek z pliku Excel przy użyciu IronXL w języku C#?

Dzięki IronXL można odczytywać wartości komórek z pliku Excel, ładując plik za pomocą WorkBook.Load, wybierając arkusz i uzyskując dostęp do konkretnych wartości komórek lub zakresów za pomocą ich adresów.

Co sprawia, że IronXL jest potężnym narzędziem do obsługi plików Excel w języku C#?

IronXL jest potężnym narzędziem dzięki obsłudze wielu formatów (XLS, XLSX, CSV), możliwościom tworzenia formuł i stylizacji, szyfrowaniu zapewniającemu bezpieczeństwo oraz zdolności do wydajnej obsługi dużych plików w różnych systemach operacyjnych.

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