Πώς να μετατρέψετε το Excel σε DataTable στο C#

Σε αυτό το σεμινάριο, θα ακολουθήσουμε τα βήματα για να μάθουμε πώς να μετατρέπουμε το Excel σε DataTable σε C#. Είναι πολύ εύχρηστο χαρακτηριστικό που χρησιμοποιεί το C# read αρχείο Excel στο DataTable και στη συνέχεια το χρησιμοποιεί πίσω από κάποιο gridview για εμφάνιση ή το χρησιμοποιεί για την εισαγωγή δεδομένων σε μια βάση δεδομένων. Ακολουθούν τα βήματα για την εισαγωγή του Excel στο DataTable σε C# που τελικά αποθηκεύεται ως XLSX.

Βήματα για τη μετατροπή του Excel σε DataTable σε C#

  1. Προσθέστε τη βιβλιοθήκη Aspose.Cells for .NET στο έργο χρησιμοποιώντας τη διαχείριση πακέτων NuGet
  2. Προσθέστε την αναφορά στους χώρους ονομάτων System, System.Data και Aspose.Cells
  3. Δημιουργήστε ένα κενό αντικείμενο βιβλίου εργασίας
  4. Συμπληρώστε το πρώτο φύλλο με δείγματα δεδομένων που πρόκειται να εξαχθούν στον πίνακα δεδομένων
  5. Εξαγάγετε τα περιεχόμενα του συμπληρωμένου φύλλου εργασίας στον πίνακα δεδομένων
  6. Για επαλήθευση, ανακτήστε δεδομένα στον πίνακα δεδομένων φέρνοντας κάθε σειρά στον πίνακα δεδομένων
  7. Εμφανίστε όλες τις ανακτημένες σειρές και στήλες στον πίνακα δεδομένων

Σε αυτή τη διαδικασία, αρχικοποιούμε ένα κενό βιβλίο εργασίας και, στη συνέχεια, λαμβάνουμε την αναφορά στο πρώτο φύλλο εργασίας του. Για καλύτερη κατανόηση, τα δείγματα δεδομένων συμπληρώνονται σε αυτό το φύλλο εργασίας που αργότερα μετατρέπεται σε DataTable. Μόλις συμπληρωθούν τα δεδομένα, χρησιμοποιούμε τη συνάρτηση WorkSheet.Cells.ExportDataTable για να δημιουργήσουμε έναν πίνακα δεδομένων. Αυτή η συνάρτηση υποστηρίζει την επιλογή δεδομένων από οποιαδήποτε περιοχή στο φύλλο εργασίας μαζί με την πρόβλεψη εισαγωγής κεφαλίδων στηλών επίσης. Μετά τη δημιουργία αυτού του DataTable, επαληθεύουμε τα περιεχόμενά του εμφανίζοντας όλες τις στήλες σε κάθε γραμμή.

Κώδικας για εισαγωγή Excel σε DataTable σε C#

using System;
using System.Data;
using Aspose.Cells;
namespace ConvertExcelToDataTableInCSharp
{
class Program
{
static void Main(string[] args)
{
// Initialize the license to generate output file without the trial version watermark
License license = new License();
license.SetLicense("Aspose.Cells.lic");
// Instantiate the new Excel file for importing to DataTable
Workbook ExcelToDataTable = new Workbook();
// Access first worksheet
Worksheet worksheetToDataTable = ExcelToDataTable.Worksheets[0];
// Insert sample data to be exported to DataTable in the first sheet
worksheetToDataTable.Cells["A1"].Value = "Roll No";
worksheetToDataTable.Cells["B1"].Value = "Name";
worksheetToDataTable.Cells["C1"].Value = "Age";
worksheetToDataTable.Cells["A2"].Value = 1;
worksheetToDataTable.Cells["B2"].Value = "Bob";
worksheetToDataTable.Cells["C2"].Value = 21.5;
worksheetToDataTable.Cells["A3"].Value = 2;
worksheetToDataTable.Cells["B3"].Value = "Neil";
worksheetToDataTable.Cells["C3"].Value = 23;
worksheetToDataTable.Cells["A4"].Value = 3;
worksheetToDataTable.Cells["B4"].Value = "John";
worksheetToDataTable.Cells["C4"].Value = 25;
// Exporting the contents of 4 rows and 3 columns starting from 1st cell to DataTable
DataTable dataTable = worksheetToDataTable.Cells.ExportDataTable(0, 0, 4, 3, true);
// Verify data in the DataTable by displaying all the columns in each row
for (int iDataTableRow = 0; iDataTableRow < dataTable.Rows.Count; iDataTableRow++)
{
// Fetch individual column data
Int32 RollNo = Convert.ToInt32(dataTable.Rows[iDataTableRow]["Roll No"]);
String Name = Convert.ToString(dataTable.Rows[iDataTableRow]["Name"]);
Double Age = Convert.ToDouble(dataTable.Rows[iDataTableRow]["Age"]);
// Display data in the row
System.Console.WriteLine($"Roll No:{RollNo}, Name : {Name}, Age : {Age} Years");
}
// Save the Excel file that is Imported to DataTable
ExcelToDataTable.Save("ExcelToDataTable.xlsx");
}
}
}

Σε αυτή τη διαδικασία, δεν χρησιμοποιείται ούτε το interop ούτε το MS Excel. Μπορείτε επίσης να μετατρέψετε το Excel σε άλλες μορφές όπως περιγράφεται στο πώς να εξαγάγετε μεγάλο αρχείο Excel σε CSV σε C#.

 Ελληνικά