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#?
- Utwórz projekt Visual Studio i dodaj pakiet IronXL NuGet.
- Utwórz plik Excel bez Interop.
- Dodaj styl do pliku Excel za pomocą IronXL.
- Odczytaj wartości z Excela i wykonaj obliczenia.
- 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?
-
Import i eksport:
- Import danych: Obsługuje formaty XLS, XLSX, CSV i TSV.
- Eksport danych: Możliwość eksportowania arkuszy do formatów XLS, XLSX, CSV, TSV i JSON.
-
Manipulacja danymi:
- System.Data Integration: Praca z arkuszami kalkulacyjnymi jako obiektami
DataSetiDataTable. - Formuły: Obsługuje formuły programu Excel, które są ponownie obliczane po edycji arkuszy.
- System.Data Integration: Praca z arkuszami kalkulacyjnymi jako obiektami
-
Stylizacja i formatowanie:
- Stylizacja komórek: Dostosuj czcionkę, rozmiar, wzór tła, obramowanie, wyrównanie i formaty liczb.
- Zakresy: Intuicyjne ustawianie zakresów za pomocą składni
WorkSheet["A1:B10"].
-
Bezpieczeństwo:
- Szyfrowanie: Szyfruj i deszyfruj pliki XLSX, XLSM i XLTX za pomocą haseł.
- Kompatybilność międzyplatformowa:
- Współpracuje z .NET Framework, .NET Core, .NET Standard i Azure.
- Kompatybilny z systemami Windows, macOS, Linux, Docker i AWS.
Dłączego warto wybrać bibliotekę IronXL zamiast innych bibliotek Excel?
- Nie wymaga pakietu Microsoft Office: IronXL nie wymaga instalacji pakietu Microsoft Office, dzięki czemu jest lekki i łatwy we wdrożeniu.
- Łatwość użytkowania: API jest intuicyjne i łatwe w użyciu, co pozwala programistom na szybką integrację funkcji programu Excel z ich aplikacjami.
- Wydajność: IronXL jest zoptymalizowany pod kątem wydajności, zapewniając szybkie i sprawne przetwarzanie dużych plików Excel.
- Wszechstronność: Nadaje się do szerokiego zakresu zastosowań, w tym rozwiązań internetowych, stacjonarnych i opartych na chmurze.
- 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?
- .NET Framework: IronXL obsługuje .NET Framework 4.5 i nowsze wersje.
- .NET Core i .NET Standard: Kompatybilne z .NET Core 2, 3, 5, 6, 7, 8 i 9.
- Systemy operacyjne: Działa na systemach Windows, macOS i Linux. Kompatybilne z Dockerem, Azure i AWS.
- Nie ma potrzeby korzystania z pakietu Microsoft Office: IronXL nie wymaga pakietu Office ani interoperacyjności z programem Excel.
- 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
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ę.

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

Teraz wprowadź nazwę projektu i lokalizację projektu.

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

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.

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
Wyjaśnienie kodu
- Dodajemy przestrzeń nazw IronXL, aby rozpocząć pracę z biblioteką IronXL.
- Utwórz obiekt Excel z
WorkBook.Create(), aby utworzyć plik XLSX. - Wywołaj metodę
CreateWorkSheet, aby utworzyć arkusz w skoroszycie. - Dodaj wartości do komórek za pomocą
workSheet["A1"].Value. - Zapisz plik Excel używając
workBook.SaveAs, podając nazwę pliku.
Plik wyjściowy w formacie Excel

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:
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
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
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
Wyjaśnienie kodu
- Utwórz plik Excel przy użyciu
WorkBook.Create. - Utwórz arkusz roboczy przy użyciu
workBook.CreateWorkSheet. - Dodaj wartości do komórek za pomocą
workSheet["A1"].Value. - Dodaj style do komórek, używając właściwości takich jak
workSheet["A1"].Style.Font.Bold. - Zapisz skoroszyt, używając
workBook.SaveAs.
Plik wyjściowy w formacie Excel

Jakie opcje stylizacji są dostępne?
IronXL oferuje szerokie możliwości stylizacji, w tym:
- Właściwości czcionki: rodzina czcionek, rozmiar, kolor, pogrubienie, kursywa, podkreślenie, przekreślenie
- Obramowania komórek: style i kolory obramowań dla wszystkich czterech stron
- Tło: Kolory i wzory tła
- Wyrównanie: opcje wyrównania poziomego i pionowego
- Formaty liczb: Niestandardowe formaty dat, walut i wartości procentowych
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
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)
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
Wyjaśnienie kodu
- Załaduj plik Excel za pomocą
WorkBook.Load. - Otwórz pierwszy arkusz w skoroszycie.
- Odczytaj wartość konkretnej komórki i wyświetl ją za pomocą
Console.WriteLine. - Przejrzyj zakres komórek i PRINT każdą wartość. PRINT nowe wiersze po kolumnie H.
- Oblicz sumę wartości w zakresie F2:F10 i PRINT ją.
Plik wejściowy Excel

Wynik

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
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
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()
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
Wyjaśnienie kodu
- Załaduj plik Excel przy użyciu metody
Load. - Ustaw opcje konwersji HTML za pomocą
HtmlExportOptions. - Użyj metody
ExportToHtml, aby przekonwertować i zapisać jako HTML.
Dane wejściowe

Wynik

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"
}
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
})
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
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:
- Przetwarzanie dużych zbiorów danych na potrzeby analizy statystycznej i transformacji.
- Eksportowanie przeanalizowanych danych do wglądu dla interesariuszy.
- Wykorzystanie funkcji agregujących do szybkiego uzyskania wglądu w dane.
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):
- Eksportowanie danych klientów w celu przeprowadzenia szczegółowej analizy.
- Aktualizacja rekordów CRM poprzez import zmodyfikowanych danych.
- Tworzenie raportów segmentacyjnych przy użyciu formatowania warunkówego.
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:
- Finanse i bankowość (raporty i analizy)
- Opieka zdrowotna (bezpieczne zarządzanie danymi)
- Edukacja (zarządzanie ocenami i raportowanie)
- E-commerce (eksport i import danych)
- Produkcja (śledzenie zapasów i produkcji)
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ą:
- Aplikacje internetowe ASP.NET do przesyłania/pobierania plików
- Azure Functions do przetwarzania w chmurze
- Integracja z bazą danych SQL w celu synchronizacji danych
- Aplikacje Blazor do interaktywnych interfejsów użytkownika w sieci WWW
- Kontenery Docker dla mikrousług
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"
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")
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:
- Nie wymaga instalacji pakietu Microsoft Office
- Obsługa wielu platform: Windows, Linux, macOS
- Kompleksowe opcje stylizacji i formatowania
- Obsługa formuł i obliczeń
- Funkcje bezpieczeństwa, w tym ochrona hasłem
- Łatwy eksport i import danych
- Doskonała optymalizacja wydajności
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.




