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# API pro export dat Excelu do DataTable
- Excel do DataTable v C#
- Převeďte data Excelu se silným typem na DataTable
- Převeďte data aplikace Excel, která nejsou pevně zadaná, na DataTable
- Získejte bezplatnou licenci
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ů.
- K načtení souboru Excel použijte třídu Sešit.
- Získejte list, který chcete exportovat, v objektu Worksheet.
- Pomocí metody Worksheet.Cells.ExportDataTable(int, int, int, int, bool) exportujte data do objektu DataTable.
- Jako zdroj dat použijte DataTable.
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ě.
- K načtení souboru Excel použijte třídu Sešit.
- Vyberte list, který chcete exportovat v objektu Worksheet.
- Pomocí metody Worksheet.Cells.ExportDataTableAsString(int, int, int, int, bool) exportujte data do objektu DataTable.
- Jako zdroj dat použijte DataTable.
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.