Tabulky MS Excel se široce používají k uchování malých, středních nebo velkých dat. V různých případech tabulky fungují jako databáze pro ukládání dat aplikace. V takových situacích možná budete muset číst data uložená v souborech aplikace Excel z webových nebo desktopových aplikací. Pro takové případy tento článek popisuje, jak převést data aplikace Excel do DataTables v C#.

C# Excel to DataTable Conversion API

Aspose.Cells for .NET je knihovna tříd, která umožňuje implementovat funkce automatizace Excelu v aplikacích .NET. Kromě toho vám API umožňuje exportovat data z excelových listů do ADO.NET DataTable během několika kroků. API si můžete buď stáhnout, nebo jej nainstalovat přes NuGet.

PM> Install-Package Aspose.Cells

Převést Excel na DataTable v C#

Při exportu dat z excelových listů do DataTables mohou nastat dva možné scénáře: data mohou být silně zadaná nebo nesilně zadaná. V obou případech můžete odpovídajícím způsobem provést převod Excelu na DataTable. Pojďme se podívat na to, jak se vypořádat s oběma výše uvedenými scénáři.

Převést silně typovaná data Excelu na DataTable v C#

Silně zadaná data znamenají, že hodnoty v jednom sloupci patří k určitému datovému typu. V takových případech můžete exportovat data aplikace Excel do DataTable v C# pomocí následujících kroků.

Následující ukázka kódu ukazuje, jak exportovat Excel do DataTable.

// Vytvořte souborový proud obsahující soubor Excel, který chcete otevřít
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Vytvořte instanci objektu sešitu
//Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Workbook workbook = new Workbook(fstream);

// Otevřete první list v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Exportujte obsah 2 řádků a 2 sloupců počínaje 1. buňkou do DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// Svažte DataTable s DataGrid
dataGridView1.DataSource = dataTable;

// Zavřete datový proud souboru, abyste uvolnili všechny prostředky
fstream.Close();

Převeďte data Excel bez silného typu na DataTable v C#

Nyní se podívejme na další případ, kdy hodnoty v listu nejsou silně zadané. To znamená, že nepatří k určitému datovému typu. Následují kroky k exportu dat aplikace Excel do DataTable v tomto případě.

Následující ukázka kódu ukazuje, jak exportovat data bez silného typu z Excelu do DataTable v C#.

// Vytvořte souborový proud obsahující soubor Excel, který chcete otevřít
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Vytvořte instanci objektu sešitu
//Otevření souboru aplikace Excel prostřednictvím datového proudu souborů
Workbook workbook = new Workbook(fstream);

// Otevřete první list v souboru aplikace Excel
Worksheet worksheet = workbook.Worksheets[0];

// Exportujte obsah 2 řádků a 2 sloupců počínaje 1. buňkou do DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// Svažte DataTable s DataGrid
dataGridView1.DataSource = dataTable;

// Zavřete datový proud souboru, abyste uvolnili všechny prostředky
fstream.Close();

Získejte bezplatnou licenci

Můžete získat bezplatnou dočasnou licenci, abyste mohli vyzkoušet API bez omezení hodnocení.

Závěr

V tomto článku jste se naučili exportovat nebo převádět data Excelu do ADO.NET DataTables pomocí C#. Výukový program krok za krokem a ukázky kódu ukázaly, jak se vypořádat s daty se silným a slabým typem v pracovních listech. Více o C# Excel API můžete prozkoumat pomocí dokumentace.

Viz také