IRONSOFTWAREHOME
KORZYSTANIE Z IRONXL

Jak wyeksportować Datagridview do Excela w C#

Curtis Chau
Curtis Chau
Updated: 28 czerwca 2026

Ten samouczek zapewnia wszechstronny przewodnik na temat eksportu danych z DataGridView kontrolki w aplikacji Windows Forms do pliku Excel przy użyciu biblioteki IronXL w C#. Skupimy się na stworzeniu bezproblemowego doświadczenia dla początkujących, którzy chcą zintegrować funkcjonalność Microsoft Excel ze swoimi projektami C#.

How to Export DataGridView to Excel in C#

  1. Utwórz projekt Windows Forms C# w Visual Studio.
  2. Zainstaluj bibliotekę Excel przy użyciu Menedżera Pakietów NuGet.
  3. Utwórz kontrolkę DataGridView i przycisk w interfejsie użytkownika Windows Form.
  4. Podepnij źródło danych do kontrolki DataGridView.
  5. Zastosuj logikę eksportu danych w obsłudze zdarzeń kliknięcia przycisku.

Pierwsze kroki z IronXL

IronXL to solidna biblioteka, która upraszcza proces pracy z dokumentami Excel w aplikacjach .NET Framework. Pozwala na eksportowanie dużych plików Excel, obsługę złożonych źródeł danych i zapewnia rozbudowane wsparcie dla manipulacji plikami Excel w .NET bez potrzeby posiadania biblioteki obiektów Microsoft Excel. Skonfigurujmy nasz projekt.

Konfiguracja projektu

1. Utwórz nową aplikację Windows Forms

Otwórz Visual Studio i stwórz nową aplikację Windows Forms. To będzie baza dla naszego projektu, w której zaimplementujemy funkcjonalność eksportu danych DataGridView do pliku Excel.

Jak wyeksportować DataGridView do Excela w C#: Rysunek 1 - Tworzenie nowej aplikacji Windows Forms w Visual Studio

2. Zainstaluj IronXL

IronXL można łatwo dodać do projektu. W Visual Studio wejdź do opcji 'Zarządzaj pakietami NuGet', wyszukaj IronXL i zainstaluj. Ta akcja obsłuży wszystkie zależności wymagane do eksportu DataGridView do Excel w C#.

Jak wyeksportować DataGridView do Excela w C#: Rysunek 2 - Instalacja biblioteki IronXL za pomocą Menedżera pakietów NuGet

3. Przygotuj interfejs użytkownika

Dodaj kontrolkę DataGridView do formularza. Kontrolka ta będzie zawierać dane, które zamierzamy wyeksportować. Dodatkowo dodaj przycisk do uruchomienia procesu eksportu. Możesz oznaczyć go jako 'Eksportuj do Excel' lub coś podobnego.

Implementacja funkcjonalności eksportu

W tej sekcji nauczyliśmy, jak zaprogramować funkcjonalność, która pozwala na eksportowanie danych z DataGridView w aplikacji Windows Forms do dokumentu Excel przy użyciu IronXL.

Budowa aplikacji

Na początek trzeba dodać kontrolkę DataGridView do swojego formularza. Kontrolka ta jest głównym elementem, w którym dane zostaną wyświetlone przed eksportem. Można ją łatwo dodać przeciągając kontrolkę DataGridView z narzędzi w Visual Studio na formularz. Możemy również dodać przycisk do eksportowania danych z DataGridView do plików Excel.

Jak wyeksportować DataGridView do Excela w C#: Rysunek 3 - Dodawanie przycisku do eksportu danych DataGridView do pliku Excel

Następnym krokiem jest załadowanie danych do kontrolki DataGridView. Te dane mogą pochodzić z różnych źródeł, takich jak DataTable lub DataSet. Jeśli dopiero zaczynasz, możesz stworzyć nowe DataSet lub DataTable programowo i wypełnić go przykładowymi danymi, aby zobaczyć, jak działa. Alternatywnie możesz zaimportować dane z zewnętrznego źródła. Kluczem tutaj jest powiązanie swojego źródła danych z kontrolką DataGridView, co skutecznie łączy twoje dane z siatką. Gdy dane zostaną powiązane z DataGridView, zobaczysz je wyświetlane w siatce na formularzu.

private void BindDataToDataGridView()
{
    // Create a new DataTable.
    DataTable dataTable = new DataTable();
    // Define columns for the DataTable.
    dataTable.Columns.Add("Employee ID", typeof(int));
    dataTable.Columns.Add("Name", typeof(string));
    dataTable.Columns.Add("Department", typeof(string));
    dataTable.Columns.Add("Joining Date", typeof(DateTime));
    // Add sample data to the DataTable.
    for (int i = 1; i <= 25; i++)
    {
        dataTable.Rows.Add(i, "Employee " + i, "Department " + (i % 5 + 1), DateTime.Now.AddDays(-i * 15));
    }
    // Bind the DataTable to the DataGridView.
    dataGridView1.DataSource = dataTable;
}

Obsługa zdarzenia kliknięcia przycisku

Naszym głównym punktem interakcji z użytkownikiem będzie przycisk w naszej aplikacji Windows Form. Ten przycisk, po kliknięciu, inicjuje proces eksportu. Oto, jak można ustawić tę interakcję:

  • W swoim Windows Form powinieneś mieć przycisk dedykowany do eksportowania danych z DataGridView.
  • Przycisk ten ma metodę obsługi zdarzeń w twoim kodzie C#. Metoda ta zostaje wywołana, gdy użytkownik kliknie przycisk.
private void btnExport_Click(object sender, EventArgs e)
{
    // Code to export data will go here
}

Eksport danych z DataGridView

Aby wyeksportować dane z DataGridView, najpierw musimy odwołać się do przestrzeni nazw IronXL:

using IronXL;

W ramach obsługi zdarzeń, pierwszy krok to inicjalizacja nowego skoroszytu i arkusza roboczego przy użyciu IronXL. To tutaj nasze dane z DataGridView zostaną przeniesione.

  • Obiekt WorkBook reprezentuje cały plik Excel.
  • WorkSheet w skoroszycie jest jak pojedyncza strona lub zakładka w pliku Excel.

Tutaj tworzymy skoroszyt, a następnie dodajemy do niego arkusz roboczy. Arkusz roboczy nazywa się 'ExportedData', ale możesz wybrać dowolną nazwę pasującą do kontekstu aplikacji.

WorkBook workbook = WorkBook.Create();
WorkSheet worksheet = workbook.CreateWorkSheet("ExportedData");

Uzupełnianie arkusza Excel

Następnym krokiem jest iterowanie przez wiersze i kolumny DataGridView i kopiowanie danych z każdej komórki do odpowiadającej komórki w arkuszu Excel.

  • Zewnętrzna pętla postępuje przez każdy wiersz, podczas gdy wewnętrzna pętla przechodzi przez każdą kolumnę w danym wierszu.
  • Przypisujemy każdą wartość komórki w DataGridView do odpowiadającej komórki w arkuszu Excel. Odbywa się to za pomocą indeksów i (dla wierszy) i j (dla kolumn).
for (int i = 0; i < dataGridView1.Rows.Count; i++)
{
    for (int j = 0; j < dataGridView1.Columns.Count; j++)
    {
        // Convert row and column index to Excel cell address format
        string cellAddress = ConvertToCellAddress(i, j);
        worksheet[cellAddress].Value = dataGridView1.Rows[i].Cells[j].Value.ToString();
    }
}

Aby przekonwertować indeksy wierszy i kolumn do adresu komórki Excel, możesz użyć pomocniczej metody takiej jak ta:

private string ConvertToCellAddress(int row, int column)
{
    // Columns in Excel are labeled as A, B, C, ..., Z, AA, AB, ..., etc.
    // The following code converts a column index to this format.
    string columnLabel = "";
    while (column >= 0)
    {
        columnLabel = (char)('A' + column % 26) + columnLabel;
        column = column / 26 - 1;
    }
    // Rows in Excel are labeled as 1, 2, 3, ..., n
    // Adding 1 because Excel is 1-based and our loop is 0-based.
    string rowLabel = (row + 1).ToString();
    return columnLabel + rowLabel;
}

Zapisywanie pliku Excel

Gdy wszystkie dane zostaną przeniesione, następnym krokiem jest zapisanie tego skoroszytu jako pliku Excel. Ten krok tworzy plik Excel na twoim systemie w określonej ścieżce.

workbook.SaveAs("DataGridViewExport.xlsx");
MessageBox.Show("Data exported successfully!", "Success", MessageBoxButtons.OK, MessageBoxIcon.Information);

Obsługa błędów

W każdym procesie eksportu danych obsługa wyjątków jest kluczowa dla zapewnienia stabilności aplikacji. Opakowanie logiki eksportu w blok try-catch zapewnia, że wszelkie problemy podczas eksportu (takie jak uprawnienia dostępu do plików, kwestie formatu danych, itp.) są wychwytywane i obsługiwane w elegancki sposób.

try
{
    // Export logic
}
catch (Exception ex)
{
    MessageBox.Show("An exception occurred: " + ex.Message);
}

Wynik

Po uruchomieniu programu, ten interfejs się pojawi:

Jak wyeksportować DataGridView do Excela w C#: Rysunek 4 - Formularz wyjściowy poprzedniego kodu

Tutaj możesz zobaczyć, że dane są wyświetlane w DataGridView. Teraz kliknij przycisk Eksportuj. To wyeksportuje dane z DataGridView do pliku Excel.

Jak wyeksportować DataGridView do Excela w C#: Rysunek 5 - Komunikat o pomyślnym eksporcie

Tutaj możesz zobaczyć, że pojawia się okno komunikatu, a dane są eksportowane do pliku Excel. Oto wyjściowy plik Excel:

Jak wyeksportować DataGridView do Excela w C#: Rysunek 6 - Plik Excel wynikowy po wyeksportowaniu poprzedniego formularza

Wnioski

Stosując ten przewodnik, masz teraz podstawowe, ale potężne narzędzie do eksportowania danych z DataGridView do pliku Excel przy użyciu C# i IronXL. Ta funkcjonalność jest kluczowa dla aplikacji wymagających analizy danych, raportowania lub po prostu przenoszenia danych między różnymi formatami. Pamiętaj, że eksperymentowanie z różnymi funkcjami kontrolki DataGridView i biblioteki IronXL może prowadzić do bardziej dostosowanych i zaawansowanych wdrożeń.

IronXL oferuje bezpłatną wersję próbną, którą możesz wykorzystać do eksploracji jego funkcji. Licencjonowanie zaczyna się od $999, co jest wartościową inwestycją dla profesjonalistów i organizacji poszukujących niezawodnego i wydajnego rozwiązania do manipulacji plikami Excel w aplikacjach .NET.

Twoja podróż nie kończy się tutaj. Kontynuuj odkrywanie więcej funkcji IronXL i innych sposobów na ulepszenie swoich aplikacji Windows Forms. Miłego kodowania!

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