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
- Utwórz nowy projekt w Visual Studio.
- Zainstaluj wymagańą bibliotekę.
- Załaduj plik Excel do obiektu.
- Przekonwertuj dane z arkusza Excel na tabelę danych (DataTable) przy użyciu określonych metod.
- 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".

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.

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.

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

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.

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
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
ToDataTablesł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.

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

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

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.




