Przejdź do treści stopki
KORZYSTANIE Z IRONXL

Jak eksportować duże dane z DataTable do Excel w C#

W tym artykułe przedstawimy najskuteczniejsze podejście do wyodrębniania dużych ilości danych z DataTable do arkusza Excel.

IronXL

Biblioteka IronXL to najnowocześniejsza biblioteka C# zapewniająca prosty, intuicyjny interfejs do programowego odczytu, zapisu i edycji plików Excel. Jest to narzędzie, które uwalnia pełen potencjał arkuszy kalkulacyjnych Excel, dając programistom i użytkownikom możliwość łatwej manipulacji danymi. Zostało zaprojektowane do obsługi zadań w programie Excel, które są bardziej powtarzalne i czasochłonne. Niezależnie od tego, czy pracujesz nad modelem finansowym, raportem sprzedaży, czy projektem wizualizacji danych, IronXL pomoże Ci wykonać zadanie szybko i skutecznie.

Dzięki IronXL możesz usprawnić swój przepływ pracy, ograniczyć liczbę błędów i przenieść automatyzację Excela na wyższy poziom. IronXL pozwala na bezpośrednią interakcję z danymi programu Excel bez konieczności łączenia się z plikami lub bibliotekami MS. Programiści mogą zarządzać elementami, takimi jak komórki, zakresy i wiele arkuszy, za pośrednictwem interfejsu API IronXL. IronXL udostępnia również szczegółową dokumentację interfejsu API WorkSheet.

Korzystając z IronXL, programiści mogą łatwo eksportować duże ilości danych z DataTable do arkusza kalkulacyjnego Excel, zachowując wydajność aplikacji i minimalizując ryzyko błędów. Zrozumienie, jak eksportować dane z DataTable do Excela w języku C#, może pomóc programistom w skutecznym zarządzaniu danymi w ich aplikacjach i poprawie komfortu użytkowania.

W tym artykułe omówimy, jak wyeksportować duże zbiory danych z DataTable do pliku Excel. Zawiera on przewodnik krok po kroku, od utworzenia projektu .NET w Visual Studio po instalację biblioteki IronXL i przykładów kodu. Przygotuj się na uwolnienie swojej kreatywności i wykorzystanie pełnego potencjału swoich danych dzięki IronXL.

1. Wymagania wstępne

Aby wykorzystać bibliotekę IronXL do zapisania pliku Excel z bazy danych, należy spełnić kilka warunków wstępnych. Obejmują one:

  • Aby utworzyć projekt w języku C#, na komputerze musi być zainstalowane oprogramowanie Visual Studio.
  • Przed utworzeniem projektu w języku C# należy zainstalować ASP.NET w systemie.
  • Biblioteka IronXL musi być zainstalowana w systemie. Można je uzyskać, pobierając pakiet IronXL NuGet z menedżera pakietów NuGet w programie Visual Studio.
  • W programie Visual Studio musi być również zainstalowany SQL. Najlepiej byłoby, gdyby w bazie danych znajdowała się również tabela służąca do eksportowania danych. Do utworzenia takiej tabeli i zdefiniowania jej struktury można użyć polecenia SQL CREATE TABLE.

2. Tworzenie nowego projektu w Visual Studio

Przed użyciem biblioteki IronXL do wykonywania operacji związanych z programem Excel należy najpierw utworzyć projekt .NET w programie Visual Studio. Chociaż kompatybilna jest każda wersja Visual Studio, zaleca się korzystanie z najnowszej wersji.

W zależności od wymagań można wybierać spośród różnych szablonów projektów, takich jak Windows Forms i ASP.NET.

W tym samouczku wykorzystano szablon projektu aplikacji konsolowej, aby zademonstrować pracę z IronXL.

Jak wyeksportować duże ilości danych z DataTable do Excela w C#, rysunek 1: Utwórz nowe okno projektu Utwórz nowe okno projektu

Po wybraniu typu projektu należy nadać mu nazwę i wybrać lokalizację. Można również określić preferowany framework dla projektu, np. .NET Core 6.

Jak wyeksportować duże ilości danych z DataTable do Excela w C#, rysunek 2: Konfiguracja projektu Konfiguracja projektu

Po wygenerowaniu rozwiązania można uzyskać dostęp do pliku program.cs, w którym można wprowadzić kod oraz utworzyć i uruchomić aplikację.

Jak wyeksportować duże zbiory danych z DataTable do Excela w języku C#, rysunek 3: Projekt z otwartym kodem Projekt z otwartym kodem

3. Instalacja IronXL

Bibliotekę IronXL można pobrać i zainstalować na różne sposoby:

  • Korzystanie z pakietów NuGet w Visual Studio
  • Korzystanie z wiersza poleceń programu Visual Studio.

3.1 Korzystanie z pakietów NuGet w Visual Studio

Aby zainstalować bibliotekę IronXL za pomocą menedżera pakietów NuGet w Visual Studio, otwórz menedżera pakietów NuGet i wyszukaj IronXL w zakładce Przeglądaj.

Po znalezieniu IronXL w wynikach wyszukiwania wybierz go i kontynuuj instalację. Po zakończeniu instalacji możesz używać biblioteki IronXL w swoim projekcie.

Poniższy zrzut ekranu pokazuje, jak otworzyć menedżera pakietów NuGet w programie Visual Studio.

Jak eksportować duże ilości danych z DataTable do Excela w C#, rysunek 4: Menedżer pakietów NuGet Menedżer pakietów NuGet

IronXL w wynikach wyszukiwania:

Jak wyeksportować duże ilości danych z DataTable do Excela w C#, rysunek 5: Wynik wyszukiwania IronXL Wyniki wyszukiwania IronXL

3.2 Korzystanie z wiersza poleceń programu Visual Studio

Wielu programistów woli instalować pakiety za pomocą interfejsu wiersza poleceń. Aby zainstalować IronXL za pomocą wiersza poleceń, wykonaj następujące czynności:

  • Przejdź do menu Narzędzia > Menedżer pakietów NuGet > Konsola menedżera pakietów w programie Visual Studio.
  • Wprowadź następujący wiersz w zakładce Konsola menedżera pakietów:
Install-Package IronXl.Excel

Teraz pakiet zostanie pobrany/zainstalowany w bieżącym projekcie i będzie gotowy do użycia.

Jak wyeksportować duże ilości danych z DataTable do Excela w C#, rysunek 6: Instalacja za pomocą wiersza poleceń Instalacja za pomocą wiersza poleceń

4. Eksport danych z DataTable do pliku Excel

Aby wyeksportować dane z DataTable do programu Excel przy użyciu IronXL, należy zintegrować tabelę bazy danych z projektem C#.

Poniższy przykład kodu pokazuje, jak wyeksportować dane ze wszystkich kolumn DataTable do arkusza Excel.

using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;

class LargeDataToExcel 
{
    static void Main()
    {
        // SQL query to select all data from the specified table
        string sql = "SELECT * FROM [dbo].[Table]";

        // SQL Server connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True";

        // Establishing a SQL connection using SqlConnection
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open the connection to the database
            connection.Open();

            // Initialize the SqlDataAdapter with the SQL query and connection
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

            // Create a new DataSet to hold the data from the database
            DataSet ds = new DataSet();

            // Fill the DataSet with data from the database
            adapter.Fill(ds);

            // Create a new Excel workbook from the DataSet
            WorkBook workBook = WorkBook.Load(ds);

            // Save the workbook as an Excel file
            workBook.SaveAs("sample.xlsx");
        }
    }
}
using IronXL;
using System;
using System.Data;
using System.Data.SqlClient;

class LargeDataToExcel 
{
    static void Main()
    {
        // SQL query to select all data from the specified table
        string sql = "SELECT * FROM [dbo].[Table]";

        // SQL Server connection string
        string connectionString = @"Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True";

        // Establishing a SQL connection using SqlConnection
        using (SqlConnection connection = new SqlConnection(connectionString))
        {
            // Open the connection to the database
            connection.Open();

            // Initialize the SqlDataAdapter with the SQL query and connection
            SqlDataAdapter adapter = new SqlDataAdapter(sql, connection);

            // Create a new DataSet to hold the data from the database
            DataSet ds = new DataSet();

            // Fill the DataSet with data from the database
            adapter.Fill(ds);

            // Create a new Excel workbook from the DataSet
            WorkBook workBook = WorkBook.Load(ds);

            // Save the workbook as an Excel file
            workBook.SaveAs("sample.xlsx");
        }
    }
}
Imports IronXL
Imports System
Imports System.Data
Imports System.Data.SqlClient

Friend Class LargeDataToExcel
	Shared Sub Main()
		' SQL query to select all data from the specified table
		Dim sql As String = "SELECT * FROM [dbo].[Table]"

		' SQL Server connection string
		Dim connectionString As String = "Data Source=(LocalDB)\MSSQLLocalDB;AttachDbFilename=C:\USERS\YOURUSERNAME\SOURCE\REPOS\YOURPROJECT\DATABASE1.MDF;Integrated Security=True"

		' Establishing a SQL connection using SqlConnection
		Using connection As New SqlConnection(connectionString)
			' Open the connection to the database
			connection.Open()

			' Initialize the SqlDataAdapter with the SQL query and connection
			Dim adapter As New SqlDataAdapter(sql, connection)

			' Create a new DataSet to hold the data from the database
			Dim ds As New DataSet()

			' Fill the DataSet with data from the database
			adapter.Fill(ds)

			' Create a new Excel workbook from the DataSet
			Dim workBook As WorkBook = WorkBook.Load(ds)

			' Save the workbook as an Excel file
			workBook.SaveAs("sample.xlsx")
		End Using
	End Sub
End Class
$vbLabelText   $csharpLabel

Jak wyeksportować duże ilości danych z DataTable do Excela w C#, rysunek 7: Wyodrębnione dane w pliku Excel Dane wyodrębnione do pliku Excel

W powyższym kodzie duża tabela danych jest pobierana z bazy danych SQL Server i eksportowana do pliku Excel. Połączenie między projektem a serwerem SQL jest nawiązywane za pomocą ciągu połączenia.

Za pomocą obiektu SqlDataAdapter pobieramy dane określone w zapytaniu SQL. Obiekt DataSet może przechowywać zbiór DataTables, ich relacje i ograniczenia. SqlDataAdapter wypełnia DataSet danymi z tabeli danych jako wynikami zapytania SQL.

Następnie utwórz nową instancję klasy WorkBook z biblioteki IronXL i załaduj do niej DataSet. Na koniec plik WorkBook jest zapisywany jako plik XLSX, czyli plik w formacie Excel.

Dzięki temu kodowi nie ma potrzeby tworzenia każdego wiersza nagłówkowego ani ręcznego dodawania kolumn. W ciągu zaledwie kilku sekund wszystkie dane z tej tabeli są eksportowane do nowego pliku Excel przy użyciu biblioteki IronXL Excel. Korzystając z tej techniki, programiści mogą z łatwością eksportować dane o różnych typach, rozmiarach i źródłach do arkuszy kalkulacyjnych programu Excel.

5. Podsumowanie

Dane można eksportować z DataTable do arkusza kalkulacyjnego Excel w języku C# przy użyciu różnych bibliotek i technik. Podczas pracy z dużą ilością danych niezbędne jest stosowanie technik, które pozwalają efektywnie przetwarzać dane bez pogorszenia wydajności aplikacji.

Biblioteka IronXL to doskonałe rozwiązanie, zapewniające prosty, intuicyjny interfejs do programowego odczytu, zapisu i edycji plików Excel. Aby korzystać z biblioteki IronXL do zapisywania danych z pliku Excel do bazy danych, konieczne jest spełnienie kilku warunków wstępnych, takich jak instalacja Visual Studio i ASP.NET. Po spełnieniu tych warunków bibliotekę IronXL można pobrać i zainstalować na różne sposoby, np. za pomocą pakietów Visual Studio NuGet lub wiersza poleceń Visual Studio. Po instalacji następnym krokiem jest napisanie kodu, który tworzy nowy skoroszyt z DataTable w celu wyeksportowania danych do arkusza Excel.

Dzięki zrozumieniuiuiuiuiu, jak eksportować dane z DataTable do arkusza Excel w języku C#, programiści mogą efektywnie zarządzać danymi w swoich aplikacjach i poprawiać komfort użytkowania. Więcej szczegółowych informacji na temat eksportowania danych z DataTable do programu Excel można znaleźć w poniższym samouczku. Więcej informacji na temat eksportowania danych z plików Excel można znaleźć w innym samouczku. Dostępna jest bezpłatna wersja próbna IronXL, dzięki której użytkownicy mogą wypróbować wszystkie jego funkcje.

Użytkownicy mogą również skorzystać z Iron Suite, zestawu narzędzi do tworzenia oprogramowania, w tym IronPDF, IronOCR, IronXL, IronBarcode i IronWebscraper.

Często Zadawane Pytania

Jak w języku C# wyeksportować duże zbiory danych z tabeli DataTable do programu Excel?

Możesz użyć klasy WorkBook biblioteki IronXL do wydajnego eksportowania dużych zbiorów danych z tabeli DataTable do arkusza Excel. Proces ten obejmuje skonfigurowanie połączenia SQL, pobranie danych za pomocą SqlDataAdapter oraz użycie biblioteki IronXL do usprawnionego eksportu danych.

Jakie są warunki wstępne eksportowania danych za pomocą IronXL?

Aby eksportować dane za pomocą IronXL, musisz mieć zainstalowane Visual Studio, ASP.NET i SQL. Dodatkowo powinieneś mieć bibliotekę IronXL, którą można zainstalować za pomocą menedżera pakietów NuGet lub wiersza poleceń Visual Studio.

Jak zainstalować IronXL w projekcie Visual Studio?

IronXL można zainstalować w projekcie Visual Studio za pomocą menedżera pakietów NuGet. Wystarczy wyszukać „IronXL” w zakładce Przeglądaj, wybrać go i zakończyć instalację. Alternatywnie można użyć polecenia Install-Package IronXl.Excel w konsoli menedżera pakietów.

Czy IronXL radzi sobie z eksportem dużych ilości danych bez utraty wydajności?

Tak, IronXL został zaprojektowany do wydajnej obsługi dużych ilości danych, zachowując wydajność aplikacji przy jednoczesnym minimalizowaniu błędów podczas procesu eksportu z DataTable do arkusza kalkulacyjnego Excel.

Jakie są zalety korzystania z IronXL do automatyzacji Excela?

Wykorzystanie IronXL do automatyzacji Excela usprawnia przepływ pracy poprzez uproszczenie zadań związanych z manipulacją danymi. Zmniejsza liczbę błędów i umożliwia bezpośrednią interakcję z danymi Excela bez konieczności korzystania z komponentów Microsoft Office, co jest korzystne dla automatyzacji.

Czy dostępna jest bezpłatna wersja próbna IronXL?

Tak, IronXL oferuje bezpłatną wersję próbną, która pozwala użytkownikom zapoznać się z pełnym zakresem funkcji i możliwości przed podjęciem decyzji o zakupie.

Jakie są typowe zastosowania IronXL?

IronXL jest powszechnie używany w zadaniach takich jak modelowanie finansowe, raportowanie sprzedaży, wizualizacja danych oraz automatyzacja powtarzalnych operacji w Excelu w aplikacjach napisanych w języku C#.

Gdzie mogę znaleźć więcej zasobów dotyczących eksportowania danych z DataTables?

Dodatkowe zasoby i samouczki dotyczące eksportowania danych z DataTables do Excela przy użyciu IronXL można znaleźć na stronie internetowej IronXL, która zawiera również przewodniki dotyczące obsługi różnych scenariuszy eksportu danych.

Jakie inne narzędzia programistyczne są dostępne w pakiecie Iron Suite?

Pakiet Iron Suite zawiera szereg narzędzi, takich jak IronPDF, IronOCR, IronXL, IronBarcode i IronWebscraper, oferując kompleksowe rozwiązania dla różnych potrzeb związanych z tworzeniem oprogramowania.

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