IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Tworzenie raportów Excel w C# za pomocą IronXL

Curtis Chau
Curtis Chau
Updated: 8 maja 2026

Tworzenie raportów Excel w języku C# jest podstawowym wymogiem we współczesnym biznesie i aplikacjach .NET. Niezależnie od tego, czy generujesz sprawozdania finansowe, analizy sprzedaży czy pulpity nawigacyjne dotyczące zapasów, automatyzacja procesu tworzenia plików i arkuszy kalkulacyjnych Excel pozwala zaoszczędzić wiele godzin pracy ręcznej, jednocześnie ograniczając liczbę błędów.

IronXL zapewnia programistom potężne, intuicyjne rozwiązanie do tworzenia raportów Excel w języku C# bez konieczności korzystania z pakietu Microsoft Office, programu MS Excel lub tradycyjnych zależności Interop. W przeciwieństwie do OLE Automation lub rozwiązań opartych na aplikacji Excel, IronXL umożliwia generowanie skoroszytów Excel i danych Excel bezpośrednio w kodzie za pomocą zaledwie jednej linii w razie potrzeby. W tym przewodniku nauczymy Cię, jak tworzyć raporty Excel z IronXL, wraz z łatwymi do naśladowania przykładowymi kodami, które możesz łatwo zaimplementować w swoich własnych projektach!

Czym jest IronXL i dlaczego warto go używać do generowania plików Excel?

IronXL jest biblioteką Excel dla .NET, która umożliwia deweloperom tworzenie, czytanie i manipulowanie arkuszami Excel bezpośrednio z kodu źródłowego C# lub Visual Basic. W przeciwieństwie do rozwiązań Microsoft Office Interop, które opierają się na pełnej aplikacji Excel lub inżynierii odwrotnej za pomocą Open XML SDK, IronXL działa w systemach Windows, Linux, macOS oraz w środowiskach chmurowych bez konieczności instalacji programu Excel lub zależności od oprogramowania innych firm. Dzięki temu idealnie nadaje się do raportów Excel po stronie serwera, zautomatyzowanych przepływów pracy oraz aplikacji internetowych zbudowanych na platformie .NET Core lub .NET Framework.

Dla zespołów przechodzących z ręcznych procesów w Excelu, starszych bibliotek lub przepływów pracy w narzędziach biurowych Open XML, które wymagają poruszania się po różnych przestrzeniach nazw XML, IronXL zapewnia intuicyjny interfejs API. Obsługuje zarówno starsze pliki XLS, jak i nowoczesne pliki XLSX, które są w zasadzie plikami ZIP zawierającymi pliki XML i różne foldery. Niezależnie od tego, czy chcesz wygenerować nowy skoroszyt Excel, manipulować wieloma arkuszami, czy załadować dane Excel z zewnętrznego kodu, IronXL drastycznie upraszcza proces, nie wymagając zrozumienia wewnętrznych formatów.

Pierwsze kroki z IronXL w celu utworzenia pliku Excel

Konfiguracja IronXL do tworzenia raportów w Excelu zajmuje zaledwie kilka minut. Zainstaluj bibliotekę za pomocą menedżera pakietów NuGet w Visual Studio:

PM > Install-Package IronXL.Excel

Pobierz IronXL już dziś i zacznij automatyzować generowanie raportów w Excelu.

Po zainstalowaniu utworzenie pierwszego raportu w Excelu wymaga zaledwie kilku wierszy kodu:

using IronXL;
// Create a new Excel workbook for reports
WorkBook workBook = WorkBook.Create(ExcelFileFormat.XLSX);
// Add a worksheet for the report
WorkSheet reportSheet = workBook.CreateWorkSheet("Monthly Report");
// Add a title
reportSheet["A1"].Value = "Sales Report - January 2024";
reportSheet["A1"].Style.Font.Bold = true;
// Save the Excel report
workBook.SaveAs("MonthlyReport.xlsx");

Ten kod tworzy nowy plik raportu Excel z sformatowanym tytułem. Znana skladnia odwolania do komorki (reportSheet["A1"]) ulatwia programistom okreslenie dokladnie, gdzie powinny pojawic sie dane, podobnie jak w przypadku pracy z Excelem manualnie.

Wynik

Jak tworzyc raporty Excel w C# przy uzyciu IronXL: Obraz 1 - Przyklad wyniku w Excelu

Ładowanie danych z wielu źródeł

W rzeczywistych raportach Excel rzadko wykorzystuje się dane statyczne. IronXL doskonale radzi sobie z integracją danych Excel z różnych formatów, interfejsów API, nowych źródeł DataTable, a nawet kilku różnych plików XML. Dzięki temu idealnie nadaje się do dynamicznego generowania raportów w formacie Excel w języku C# w aplikacjach serwerowych lub internetowych.

Integracja baz danych

Dla raportów Excel opartych na bazie danych, IronXL płynnie współpracuje z ADO.NET DataTables:

using System.Data;
using System.Data.SqlClient;
// Fetch data from database
string connectionString = "Server=localhost;Database=Sales;Integrated Security=true;";
DataTable salesData = new DataTable();
using (SqlConnection conn = new SqlConnection(connectionString))
{
    SqlDataAdapter adapter = new SqlDataAdapter(
        "SELECT ProductName, Quantity, Revenue FROM MonthlySales", conn);
    adapter.Fill(salesData);
}
// Create Excel report from DataTable
WorkBook workBook = WorkBook.Create();
WorkSheet sheet = workBook.CreateWorkSheet("Sales Data");
// Add headers
sheet["A1"].Value = "Product";
sheet["B1"].Value = "Quantity";
sheet["C1"].Value = "Revenue";
// Populate data
int row = 2;
foreach (DataRow dataRow in salesData.Rows)
{
    sheet[$"A{row}"].Value = dataRow["ProductName"];
    sheet[$"B{row}"].Value = dataRow["Quantity"];
    sheet[$"C{row}"].Value = dataRow["Revenue"];
    row++;
}

To podejście ładuje dane sprzedażowe bezpośrednio z serwera SQL do raportu w programie Excel. Integracja z DataTable oznacza, że można korzystać z istniejącego kodu dostępu do danych bez konieczności wprowadzania zmian. W przypadku bardziej złożonych scenariuszy sprawdź, jak wczytać plik Excel z baz danych SQL.

Praca z kolekcjami

Dla danych w pamięci, danych Excel z odpowiedzi API lub nowej DataTable, kolekcje mogą łatwo wypełniać arkusze Excel bez Microsoft Excel lub zależności stron trzecich:

var salesRecords = new List<SalesRecord>
{
    new SalesRecord { Product = "Widget A", Units = 150, Price = 29.99m },
    new SalesRecord { Product = "Widget B", Units = 82, Price = 49.99m }
};
// Convert collection to Excel
for (int i = 0; i < salesRecords.Count; i++)
{
    sheet[$"A{i+2}"].Value = salesRecords[i].Product;
    sheet[$"B{i+2}"].Value = salesRecords[i].Units;
    sheet[$"C{i+2}"].Value = salesRecords[i].Price;
}

Metoda ta pozwala na tworzenie raportów Excel w języku C# bezpośrednio w aplikacji .NET, co znacznie upraszcza proces generowania wielu arkuszy lub plików XLSX w porównaniu z ręczną automatyzacją OLE lub inżynierią odwrotną plików XML.

Wynik

Jak tworzyc raporty Excel w C# przy uzyciu IronXL: Obraz 2 - Probna arkusz z wyjsciowymi danymi

Formatowanie profesjonalnych raportów w programie Excel

Same surowe dane nie wystarczą do stworzenia profesjonalnego raportu. IronXL zapewnia kompleksowe opcje formatowania komórek, umożliwiające tworzenie dopracowanych, gotowych do użytku biznesowego plików Excel. Poniższy kod pokazuje, jak łatwo to zrobić za pomocą IronXL:

using IronXL;
using IronXL.Styles;

class Program
{
    static void Main(string[] args)
    {
        // Create a new workbook
        var workbook = WorkBook.Create(ExcelFileFormat.XLSX);
        // Add a new worksheet
        var sheet = workbook.CreateWorkSheet("MySheet");
        // Add header values
        sheet["A1"].Value = "Product";
        sheet["B1"].Value = "Quantity";
        sheet["C1"].Value = "Price";
        // Add sample data rows
        sheet["A2"].Value = "Laptop";
        sheet["B2"].Value = 5;
        sheet["C2"].Value = 1299.99;
        sheet["A3"].Value = "Headphones";
        sheet["B3"].Value = 15;
        sheet["C3"].Value = 199.50;
        sheet["A4"].Value = "Keyboard";
        sheet["B4"].Value = 10;
        sheet["C4"].Value = 89.99;
        sheet["A5"].Value = "Monitor";
        sheet["B5"].Value = 7;
        sheet["C5"].Value = 249.00;
        // Header formatting
        var headerRange = sheet["A1:C1"];
        headerRange.Style.Font.Bold = true;
        headerRange.Style.SetBackgroundColor("#4472C4");
        headerRange.Style.Font.Color = "#FFFFFF";
        headerRange.Style.BottomBorder.Type = BorderType.Thick;
        // Number formatting for currency
        sheet["C:C"].FormatString = "$#,##0.00";
        // Alternating row colors for readability
        for (int row = 2; row <= 10; row++)
        {
            if (row % 2 == 0)
            {
                sheet[$"A{row}:C{row}"].Style.SetBackgroundColor("#F2F2F2");
            }
        }
        // Column width adjustment
        sheet.Columns[0].Width = 15 * 256; // Width in 1/256th of character width
        sheet.Columns[2].Width = 12 * 256;
        // Add borders around data
        var dataRange = sheet["A1:C10"];
        dataRange.Style.TopBorder.Type = BorderType.Thin;
        dataRange.Style.RightBorder.Type = BorderType.Thin;
        dataRange.Style.BottomBorder.Type = BorderType.Thin;
        dataRange.Style.LeftBorder.Type = BorderType.Thin;
        // Save the workbook to a file
        workbook.SaveAs("MyWorkbook.xlsx");
    }
}

Te opcje formatowania przekształcają podstawowe dane w profesjonalne raporty. API stylu obejmuje wszystko, od czcionek i kolorów po obramowania i wyrównanie, zapewniając pełną kontrolę nad wyglądem raportu w Excelu. W przypadku zaawansowanych potrzeb związanych z formatowaniem warto zapoznać się z formatowaniem warunkowym, które pozwala automatycznie wyróżniać ważne dane.

Jak tworzyc raporty Excel w C# przy uzyciu IronXL: Obraz 3 - Sformatowane wyniki w Excelu

Wykorzystanie formuł do dynamicznych obliczeń w raportach Excel

Siła programu Excel tkwi w jego formułach, a IronXL w pełni obsługuje tworzenie formuł w Excelu:

// Add formula for row totals
sheet["D1"].Value = "Total";
sheet["D2"].Formula = "=B2*C2";
// Copy formula down the column
for (int row = 3; row <= 10; row++)
{
    sheet[$"D{row}"].Formula = $"=B{row}*C{row}";
}
// Add summary formulas
sheet["A12"].Value = "Summary";
sheet["B12"].Formula = "=SUM(B2:B10)";
sheet["C12"].Formula = "=AVERAGE(C2:C10)";
sheet["D12"].Formula = "=SUM(D2:D10)";

Wsparcie dla formuł obejmuje wszystkie standardowe funkcje Excela, takie jak SUM, AVERAGE, IF, VLOOKUP i wiecej. IronXL automatycznie obsługuje zależności między formułami i kolejność obliczeń, dzięki czemu generowanie raportów w Excelu zawierających złożone obliczenia staje się proste. Dowiedz się więcej o funkcjach matematycznych w IronXL.

Jak tworzyc raporty Excel w C# przy uzyciu IronXL: Obraz 4 - Przykladowy wynik z formulami

Raporty oparte na szablonach

W przypadku powtarzających się raportów Excel lub standardowych skoroszytów IronXL obsługuje generowanie oparte na szablonach, umożliwiając programistom tworzenie plików Excel z szablonu bez konieczności korzystania z Open XML SDK, plików rels lub różnych folderów:

// Load existing template
Workbook templateBook = Workbook.Load("ReportTemplate.xlsx");
Worksheet templateSheet = templateBook.DefaultWorksheet;
// Find and replace template markers
foreach (var cell in templateSheet["A1:Z100"])
{
    if (cell.Text.Contains("{{CompanyName}}"))
        cell.Value = cell.Text.Replace("{{CompanyName}}", "Acme Corp");
    if (cell.Text.Contains("{{ReportDate}}"))
        cell.Value = cell.Text.Replace("{{ReportDate}}", DateTime.Now.ToString("MMMM yyyy"));
}
// Save as new report
templateBook.SaveAs($"Report_{DateTime.Now:yyyyMMdd}.xlsx");

Takie podejście pozwala zachować spójne formatowanie przy aktualizacji treści dynamicznych, co idealnie sprawdza się w przypadku raportów miesięcznych lub dokumentów standardowych.

Jak tworzyc raporty Excel w C# przy uzyciu IronXL: Obraz 5 - Szablon raportu vs nasz plik Excel stworzony przy uzyciu szablonu

Najlepsze praktyki i rozwiązywanie problemów

Podczas wdrażania generowania raportów w Excelu należy pamiętać o następujących wskazówkach:

  • Zużycie pamięci przy dużych plikach: Przetwarzaj dane w kawałkach zamiast ładowania całych zbiorów danych (rekomendacje Microsoftu dla dużych plików Excel)
  • Problemy z formatowaniem dat: Uzyj DateTime.ToOADate() dla dat zgodnych z Excelem (Wyjasnienie systemu dat w Excelu)
  • Bledy blokowania plikow: Zawsze poprawnie zwalniaj obiekty Excel za pomoca instrukcji using lub nowych podejsc MemoryStream.
  • Brakujące style: Niektóre właściwości stylu wymagają najpierw ustawienia koloru tła

Wnioski

IronXL zmienia generowanie raportów w Excelu z żmudnego, ręcznego procesu w zautomatyzowany, niezawodny przepływ pracy. Dzięki intuicyjnemu API, obsłudze wielu platform i kompleksowemu zestawowi funkcji programiści mogą tworzyć profesjonalne raporty w Excelu w ciągu kilku minut, a nie godzin. Połączenie łatwej integracji danych, rozbudowanych opcji formatowania i obsługi formuł sprawia, że IronXL jest niezbędnym narzędziem dla każdego programisty C# pracującego z raportami Excel. Dla zainteresowanych deweloperów, IronXL oferuje bezpłatną wersję próbną oraz dalsze opcje licencyjne dla firm i osób indywidualnych.

Pierwszy krok:
arrow pointer
Curtis Chau
Autor tekstów technicznych

Curtis Chau posiada tytuł licencjata z informatyki (Uniwersytet Carleton) i specjalizuje się w front-endowym rozwoju, z ekspertką w Node.js, TypeScript, JavaScript i React. Pasjonuje się tworzeniem intuicyjnych i estetycznie przyjemnych interfejsów użytkownika, Curtis cieszy się pracą z nowoczesnymi frameworkami i tworzeniem dobrze zorganizowanych, atrakcyjnych wizualnie podręczników.

...
Czytaj więcej

Powiązane artykuły

Key in blue circle

Uzyskaj natychmiast swój darmowy 30-dniowy Klucz Testowy.

Your trial license will be sent to your email address

Brak ograniczeń. 100% dostępności. Bez karty kredytowej.

bullet_checkedNie wymaga karty kredytowej ani tworzenia kontaBrak ograniczeń. 100% dostępności. Bez karty kredytowej.
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
Zarezerwuj swoje darmowe Demo na żywo
Booking Badge

Zaufane przez miliony inżynierów na całym świecie

Logotypy klientów Iron Software
Otrzymaj swoje Konsultacja Bez Zobowiązań
Wypełnij poniższy formularz lub wyślij e-mail na sales@ironsoftware.com
Twoje dane zawsze będą utrzymywane w tajemnicy.
Zaufane przez miliony inżynierów na całym świecie
Logotypy klientów Iron Software
Otrzymaj swój darmowy Klucz Próbny na 30 dni natychmiast.
Nie wymaga karty kredytowej ani tworzenia konta