J'utilise OleDbDataAdapter
pour extraire DataSet
du file excel, mais j'ai des problèmes avec l' SELECT
à l'intérieur
DataSet excelDataSet = new DataSet(); using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionSsortingng)) { con.Open(); OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Name of spreadsheet]", con); cmd.Fill(excelDataSet); con.Close(); }
{DataSet excelDataSet = new DataSet(); using (OleDbConnection con = new System.Data.OleDb.OleDbConnection(connectionSsortingng)) { con.Open(); OleDbDataAdapter cmd = new System.Data.OleDb.OleDbDataAdapter("select * from [Name of spreadsheet]", con); cmd.Fill(excelDataSet); con.Close(); }
Si vous voyez, j'ai "select * from [Name of spreadsheet]"
, mais je dois avoir des feuilles de calcul ou, par exemple, la première feuille de calcul, mais le nom de cette feuille de calcul peut être n'importe quoi.
Comment le préciser? Est-ce qu'il y a des caractères spéciaux comme "select * from [%]"
Vous devez connaître le nom de la feuille pour appliquer la déclaration sélectionnée.
Et vous devez append le char spécial à la fin du nom.
Si vous avez une feuille nommée MyFirstSheet
vous pouvez en sélectionner les lignes
OleDbDataAdapter cmd = new OleDbDataAdapter("select * from [MyFirstSheet$]", con);
Dans le cas où vous ne connaissez pas le nom de vos feuilles, vous pouvez appeler
using (OleDbConnection con = new OleDbConnection(connectionSsortingng)) { con.Open(); DataTable dt = con.GetSchema("Tables"); ssortingng firstSheet = dt.Rows[0]["TABLE_NAME"].ToSsortingng(); ...... work with the first sheet ..... }
{using (OleDbConnection con = new OleDbConnection(connectionSsortingng)) { con.Open(); DataTable dt = con.GetSchema("Tables"); ssortingng firstSheet = dt.Rows[0]["TABLE_NAME"].ToSsortingng(); ...... work with the first sheet ..... }
Cet exemple devrait vous donner le nom de la première feuille dans le file Excel (d'autres feuilles sont disponibles dans les rangées successives après la première)