MS Excel-kalkylblad används ofta för att hålla små, medelstora eller stora data. I olika fall fungerar kalkylblad som en databas för att lagra applikationsdata. I sådana situationer kan du behöva läsa data som lagras i Excel-filerna från dina webb- eller skrivbordsprogram. För sådana fall täcker den här artikeln hur du konverterar Excel-data till DataTables i C#.

C# Excel till DataTable Conversion API

Aspose.Cells for .NET är ett klassbibliotek som låter dig implementera Excel-automatiseringsfunktioner i .NET-applikationerna. Dessutom låter API:et dig exportera data från Excel-kalkylblad till ADO.NET DataTable inom några få steg. Du kan antingen ladda ner API:et eller installera det via NuGet.

PM> Install-Package Aspose.Cells

Konvertera Excel till DataTable i C#

Det kan finnas två möjliga scenarier när man exporterar data från Excel-kalkylblad till DataTables: data kan vara starkt skrivna eller icke-starkt skrivna. I båda fallen kan du utföra konvertering av Excel till DataTable i enlighet med detta. Låt oss ta en titt på hur man hanterar något av de ovan nämnda scenarierna.

Konvertera starkt typade Excel-data till DataTable i C#

Starkt typad data betyder att värdena i en kolumn tillhör en viss datatyp. I sådana fall kan du exportera Excel-data till DataTable i C# genom att använda följande steg.

Följande kodexempel visar hur du exporterar Excel till DataTable.

// Skapa en filström som innehåller Excel-filen som ska öppnas
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Instantiera ett arbetsboksobjekt
//Öppna Excel-filen genom filströmmen
Workbook workbook = new Workbook(fstream);

// Öppna det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Exportera innehållet i 2 rader och 2 kolumner från 1:a cellen till DataTable
DataTable dataTable = worksheet.Cells.ExportDataTable(0, 0,2, 2, true);

// Bind DataTable med DataGrid
dataGridView1.DataSource = dataTable;

// Stäng filströmmen för att frigöra alla resurser
fstream.Close();

Konvertera icke-starkt typade Excel-data till DataTable i C#

Låt oss nu titta på det andra fallet när värden i kalkylbladet inte är starkt skrivna. Det betyder att de inte tillhör en viss datatyp. Följande är stegen för att exportera Excel-data till DataTable i det här fallet.

Följande kodexempel visar hur man exporterar icke-starkt skrivna data från Excel till DataTable i C#.

// Skapa en filström som innehåller Excel-filen som ska öppnas
FileStream fstream = new FileStream("Excel.xlsx", FileMode.Open);

// Instantiera ett arbetsboksobjekt
//Öppna Excel-filen genom filströmmen
Workbook workbook = new Workbook(fstream);

// Öppna det första kalkylbladet i Excel-filen
Worksheet worksheet = workbook.Worksheets[0];

// Exportera innehållet i 2 rader och 2 kolumner från 1:a cellen till DataTable
DataTable dataTable = worksheet.Cells.ExportDataTableAsString(0, 0, 2, 2, true);

// Bind DataTable med DataGrid
dataGridView1.DataSource = dataTable;

// Stäng filströmmen för att frigöra alla resurser
fstream.Close();

Skaffa en gratis licens

Du kan skaffa en gratis tillfällig licens för att prova API utan utvärderingsbegränsningar.

Slutsats

I den här artikeln har du lärt dig hur du exporterar eller konverterar Excel-data till ADO.NET DataTables med C#. Steg-för-steg handledning och kodexempel har visat hur man hanterar starkt skrivna och icke-starkt skrivna data i kalkylbladen. Du kan utforska mer om C# Excel API med hjälp av dokumentation.

Se även