Przejdź do treści stopki
KORZYSTANIE Z IRONXL
Jak przekonwertować plik Excel na DataTable w języku C# bez oledb | IronXL

Jak przekonwertować plik Excel na tabelę danych w języku C# bez użycia oledb

Microsoft Excel to solidny program do obsługi arkuszy kalkulacyjnych stworzony przez firmę Microsoft. Jest to powszechnie stosowane narzędzie do organizacji, analizy i wizualizacji danych. Jest to część Suite Office firmy Microsoft. Ze względu na swoje różnorodne funkcje program Excel jest wszechstronnym narzędziem, z którego mogą korzystać profesjonaliści, osoby prywatne, organizacje i uczelnie.

Program Excel jest szeroko stosowany w wielu różnych sektorach, w tym w finansach, księgowości, analizie biznesowej, analizie danych, badaniach, edukacji i wielu innych. Ze względu na swoją wszechstronność i bogaty zestaw funkcji jest to narzędzie pierwszego wyboru do organizowania, oceny i prezentacji danych zarówno w sytuacjach osobistych, jak i Professional. W tym artykułe zamierzamy przekonwertować plik Excel na tabelę danych (DataTable) w języku C# bez korzystania z łączności OLEDB.

Jak przekonwertować plik Excel na DataTable w języku C# bez użycia OLEDB

  1. Utwórz nowy projekt w Visual Studio.
  2. Zainstaluj wymagańą bibliotekę.
  3. Załaduj plik Excel do obiektu.
  4. Przekonwertuj dane z arkusza Excel na tabelę danych (DataTable) przy użyciu określonych metod.
  5. W razie potrzeby użyj tabeli DataTable.

Biblioteka IronXL

Alternatywą dla Microsoft Interop do obsługi plików Excel w programach .NET jest IronXL. Podczas gdy Microsoft Interop wymaga użycia zestawów Interop do połączenia z programem Excel, IronXL zapewnia prostszy, wydajniejszy i skuteczniejszy sposób programowej manipulacji plikami Excel w środowiskach .NET.

Oto kilka zalet korzystania z IronXL:

  • Wydajność i oszczędność zasobów: IronXL przewyższa Microsoft Interop pod względem wydajności i efektywności wykorzystania zasobów, ponieważ nie wymaga zainstalowania programu Excel na komputerze.
  • Czytelność i prostota: IronXL oferuje prostsze API, ułatwiające odczytywanie, zapisywanie i manipulowanie plikami Excel bez wad Microsoft Interop.
  • Kompatybilność i zależności: IronXL eliminuje zależności i potencjalne problemy z kompatybilnością z różnymi wersjami pakietu Office lub programu Excel, ponieważ nie wymaga instalacji programu Microsoft Excel na komputerze.
  • Niezależność od platformy: Podczas gdy Microsoft Interop jest ściślej powiązany z niektórymi wersjami pakietu Microsoft Office, IronXL zapewnia większą elastyczność i prostotę wdrożenia w szerszym zakresie środowisk i platform.

Ponieważ IronXL jest szybszy, łatwiejszy w użyciu i wymaga instalacji mniejszej liczby programów innych firm, często jest preferowanym wyborem dla programistów .NET, którzy muszą pracować z plikami Excel programowo. Jednak czynniki takie jak specyfika projektu, istniejąca infrastruktura oraz znajomość poszczególnych bibliotek przez użytkownika mogą wpłynąć na ich wybór.

Wybierając spośród tych rozwiązań, zawsze należy wziąć pod uwagę potrzeby danej aplikacji. Więcej informacji na temat biblioteki IronXL można znaleźć na tej stronie internetowej.

Tworzenie nowego projektu w Visual Studio

Aby otworzyć Visual Studio, kliknij File w menu i wybierz "New Project". Następnie wybierz "Windows Forms Application".

Jak przekonwertować plik Excel na DataTable w języku C# bez użycia OLEDB: Rysunek 1

Po wybraniu lokalizacji pliku wprowadź nazwę projektu w odpowiednim polu tekstowym. Następnie kliknij przycisk "Utwórz" i wybierz wymagańy .NET Framework, jak pokazano w poniższym przykładzie.

Jak przekonwertować plik Excel na tabelę danych w języku C# bez użycia OLEDB: Rysunek 2

Wybór typu aplikacji będzie decydował o strukturze projektu Visual Studio. Aby dodać kod, można otworzyć plik Program.cs i skompilować lub uruchomić aplikację za pomocą konsoli, systemu Windows lub aplikacji internetowej.

Jak przekonwertować plik Excel na DataTable w języku C# bez użycia OLEDB: Rysunek 3

Następnie dodaj niezbędną bibliotekę i przetestuj kod.

Instalacja biblioteki IronXL

Aby zainstalować bibliotekę IronXL, otwórz konsolę NuGet Package Manager Console i wprowadź następujące polecenie:

Install-Package IronXl.Excel

Jak przekonwertować plik Excel na tabelę danych w języku C# bez użycia OLEDB: Rysunek 4

Alternatywnie można użyć menedżera pakietów NuGet, aby wyszukać pakiet "IronXL". Spowoduje to wyświetlenie listy pakietów NuGet związanych z IronXL, z której można wybrać ten, który jest potrzebny.

Jak przekonwertować plik Excel na DataTable w języku C# bez użycia OLEDB: Rysunek 5

Konwersja pliku Excel na tabelę danych

Poniższy kod pokazuje, jak odczytać plik Excel i przekonwertować go na DataTable po zainstalowaniu pakietu.

// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
// Necessary namespaces for IronXL and application namespaces
using IronXL;
using System;
using System.Data;
using System.Windows.Forms;

namespace DataTableWindowsForm
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        /// <summary>
        /// Exports data from an Excel file specified by the user through a file dialog.
        /// </summary>
        /// <param name="filename">The name of the file to export data from.</param>
        private void ExportData(string filename)
        {
            string importFilePath = string.Empty;
            openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx";
            DialogResult result = openFileDialog1.ShowDialog();

            if (result == DialogResult.OK)
            {
                importFilePath = openFileDialog1.FileName;
            }

            if (!string.IsNullOrEmpty(importFilePath))
            {
                // Load the Excel document
                var excelDoc = WorkBook.Load(importFilePath);
                // Select the first worksheet
                var worksheet = excelDoc.WorkSheets[0];
                // Convert worksheet to a DataTable
                DataTable dt = worksheet.ToDataTable();
                // Bind DataTable to the DataGridView
                dataGridView1.DataSource = dt;
            }
        }
    }
}
' Necessary namespaces for IronXL and application namespaces
Imports IronXL
Imports System
Imports System.Data
Imports System.Windows.Forms

Namespace DataTableWindowsForm
	Partial Public Class Form1
		Inherits Form

		Public Sub New()
			InitializeComponent()
		End Sub

		''' <summary>
		''' Exports data from an Excel file specified by the user through a file dialog.
		''' </summary>
		''' <param name="filename">The name of the file to export data from.</param>
		Private Sub ExportData(ByVal filename As String)
			Dim importFilePath As String = String.Empty
			openFileDialog1.Filter = "Excel (*.xlsx)|*.xlsx"
			Dim result As DialogResult = openFileDialog1.ShowDialog()

			If result = System.Windows.Forms.DialogResult.OK Then
				importFilePath = openFileDialog1.FileName
			End If

			If Not String.IsNullOrEmpty(importFilePath) Then
				' Load the Excel document
				Dim excelDoc = WorkBook.Load(importFilePath)
				' Select the first worksheet
				Dim worksheet = excelDoc.WorkSheets(0)
				' Convert worksheet to a DataTable
				Dim dt As DataTable = worksheet.ToDataTable()
				' Bind DataTable to the DataGridView
				dataGridView1.DataSource = dt
			End If
		End Sub
	End Class
End Namespace
$vbLabelText   $csharpLabel

W powyższym kodzie:

  • Formularz Windows Form ładuje pliki Excel i konwertuje je do nowej tabeli danych (DataTable).
  • Wykorzystuje okno dialogowe otwierania plików, aby umożliwić użytkownikowi wybór pliku Excel.
  • Metoda WorkBook.Load() z biblioteki IronXL służy do wczytania pliku Excel do obiektu Workbook.
  • Pierwszy arkusz jest wybierany na podstawie indeksu lub nazwy.
  • Metoda ToDataTable służy do przekształcania danych z arkusza w tabelę DataTable.
  • Wypełniona tabela DataTable jest ustawiona jako źródło danych dla kontrolki DataGridView w formularzu Windows Form.

Na dole znajduje się formularz i przycisk służący do wczytania pliku Excel do aplikacji.

Jak przekonwertować plik Excel na tabelę danych w języku C# bez użycia OLEDB: Rysunek 6

Po kliknięciu przycisku "Load Excel" pojawi się okno dialogowe umożliwiające użytkownikowi wybranie pliku.

Jak przekonwertować plik Excel na tabelę danych w języku C# bez użycia OLEDB: Rysunek 7

Następnie przetworzy wybrany plik, przekształci go w tabelę danych (DataTable) i załaduje do widoku siatki danych (DataGridView).

Jak przekonwertować plik Excel na DataTable w języku C# bez użycia OLEDB: Rysunek 8

Dowiedz się więcej o korzystaniu z IronXL z DataTables.

Wnioski

IronXL to jeden z najczęściej używanych dodatków do programu Excel, który nie wymaga żadnych dodatkowych bibliotek zewnętrznych. Instalowanie programu Microsoft Excel nie jest konieczne, ponieważ jest to program samodzielny. Może manipulować plikami Excel na różne sposoby. Natomiast biblioteka Interop wymaga innych bibliotek do analizowania plików i edycji dokumentów WORD.

IronXL zapewnia kompleksowe rozwiązanie dla każdego procesu programowania z wykorzystaniem dokumentów Microsoft Excel, w tym operacji takich jak obliczenia, sortowanie, scałanie i przechowywanie plików. Ułatwia to obsługę danych w Excelu oraz bardziej wydajne odczytywanie i zapisywanie plików.

Pierwotnie cena IronXL wynosiła $799. Użytkownicy mogą otrzymywać aktualizacje oprogramowania i wsparcie techniczne po opłaceniu rocznej opłaty członkowskiej. IronXL oferuje również, za opłatą, ochronę przed nielegalną redystrybucją. Kliknij tutaj, aby wypróbować IronXL w ramach bezpłatnej wersji próbnej i uzyskać bardziej szczegółowe informacje na temat cen. Więcej informacji na temat innych produktów Iron Software można znaleźć na stronie głównej Iron Software.

Często Zadawane Pytania

Jak mogę przekonwertować dane z Excela do tabeli danych (DataTable) w języku C# bez użycia OLEDB?

Aby przekonwertować dane z Excela do tabeli danych (DataTable) w języku C# bez użycia OLEDB, można skorzystać z biblioteki IronXL. Najpierw należy utworzyć nowy projekt w Visual Studio i zainstalować bibliotekę IronXL. Następnie należy załadować plik Excel za pomocą metody WorkBook.Load(), wybrać arkusz roboczy, a następnie użyć metody ToDataTable do konwersji danych.

Jaka jest zaleta korzystania z IronXL zamiast Microsoft Interop do operacji w Excelu?

IronXL oferuje lepszą wydajność, jest oszczędny pod względem zasobów i upraszcza proces manipulacji plikami Excel. Nie wymaga instalacji programu Microsoft Excel, co pozwala uniknąć problemów z kompatybilnością z różnymi wersjami pakietu Office.

Jak zainstalować IronXL w moim projekcie C#?

Możesz zainstalować IronXL w swoim projekcie C#, otwierając konsolę NuGet Package Manager w Visual Studio i uruchamiając polecenie Install-Package IronXL. Alternatywnie możesz wyszukać IronXL w NuGet Package Manager i zainstalować go bezpośrednio.

Czy do korzystania z IronXL konieczne jest zainstalowanie programu Microsoft Excel?

Nie, do korzystania z IronXL nie jest konieczne posiadanie zainstalowanego programu Microsoft Excel. Biblioteka ta działa niezależnie od programu Excel, co eliminuje wszelkie problemy związane z zależnościami lub kompatybilnością.

Jakie są zalety konwersji pliku Excel do DataTable przy użyciu IronXL?

Konwersja plików Excel do DataTable przy użyciu IronXL zapewnia doskonałą wydajność, łatwość obsługi i nie wymaga instalacji dodatkowego oprogramowania. Metoda ta pozwala na wydajną manipulację plikami Excel w aplikacjach .NET.

Czy IronXL obsługuje pliki Excel na różnych platformach?

Tak, IronXL jest niezależny od platformy i może obsługiwać pliki Excel w różnych środowiskach bez konieczności posiadania konkretnej wersji programu Microsoft Excel.

Czy istnieje możliwość wypróbowania IronXL przed zakupem?

Tak, IronXL oferuje bezpłatną wersję próbną, która pozwala użytkownikom zapoznać się z jej funkcjami przed dokonaniem zakupu. Więcej informacji oraz wersję próbną można znaleźć na stronie internetowej IronXL.

Jakie rodzaje projektów najbardziej skorzystają na użyciu IronXL?

Projekty związane z przetwarzaniem danych w programie Excel, takie jak analiza danych, aplikacje business intelligence oraz wszelkie aplikacje .NET wymagające przetwarzania plików Excel, mogą odnieść ogromne korzyści dzięki wykorzystaniu IronXL.

W jaki sposób IronXL zarządza programową obróbką plików Excel?

IronXL pozwala programistom na programowe ładowanie, odczytywanie i manipulowanie plikami Excel za pomocą intuicyjnego API, bez konieczności korzystania z zainstalowanych komponentów programu Excel, co czyni go wydajnym narzędziem dla aplikacji .NET.

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