Essayez ceci pour vider la feuille entière à DataTable:
var connectionString = " Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES;IMEX=1";"
var sheetName = "Sheet1";
using (var con = new OleDbConnection(connectionString))
{
con.Open();
var table = new DataTable(sheetName);
var query = "SELECT * FROM [" + sheetName + "]";
OleDbDataAdapter adapter = new OleDbDataAdapter(query, con);
adapter.Fill(table);
return table;
}
Edit: Comme par question mise à jour
If dt.Rows.Count > 0 Then
For n As Integer = 0 To dt.Rows.Count - 1
EmployeeNo = (dt.Rows(n)(0))
EmpName = (dt.Rows(n)(1)).ToString
Commission = CDbl(dt.Rows(n)(2))
'I need to read one by one and assign the [EmployeeNo,EmpName,Commission]
'to the dataset DtEmployee in which Employee is the table and EmpNo, EmpName, Commission 'are the coloumns..
Dim dataRow As DataRow = DtEmployee.Tables("Employee").AsEnumerable().Where(Function(row) row.Field(Of String)("EmpNo") = EmployeeNo).SingleOrDefault()
If dataRow IsNot Nothing Then
//Set your DataRow
dataRow("EmpName") = EmpName
dataRow("Commission ") = Commission
DtEmployee.AcceptChanges();
End If
Next
End If
Trouvez la Ligne de DtEmployee table et mise à jour d'un ou si vous voulez ajouter de nouvelles lignes alors ne pas trouver la ligne, il suffit de créer une nouvelle ligne et valeur définie et ajouter à DtEmployee
DataRow dataRow = DtEmployee.Tables("Employee").NewRow()
//Set your DataRow
dataRow("EmpName") = EmpName
dataRow("Commission ") = Commission
DtEmployee.Tables("Employee").Rows.Add(dataRow)
Hope this aide ..
J'Assigned certaines valeurs à certaines variables en lisant à partir d'Excel. Maintenant, j'ai besoin d'assigner ces valeurs une par une à datatable. Donc, dans ce cas, j'ai besoin d'aide pour remplir ligne par ligne sur la table en lisant les valeurs. alors la table complète doit être sauvegardée dans la base de données – Bramenath
mettez votre code ayant un problème pour sauvegarder les données dans DataTable .. –