J'ai une feuille de calcul Excel que je veux lire dans un datatable - tout est bien, sauf pour une colonne particulière dans ma feuille Excel. La colonne, "ProductID", est un mélange de valeurs comme l' ##########
et n#########
.
J'ai essayé de laisser OleDB tout gérer par lui-même automatiquement en le lisant dans un dataset/datatable, mais toutes les valeurs dans "ProductID" comme l' n######
sont manquantes, ignorée et laissée en blanc. J'ai essayé manuellement la création de ma DataTable par une boucle sur chaque ligne avec un datareader, mais avec les mêmes résultats.
Voici le code :
// add the column names manually to the datatable as column_1, column_2, ...
for (colnum = 0; colnum < num_columns; colnum ++){
ds.Tables["products"].Columns.Add("column_" +colnum , System.Type.GetType("System.String"));
}
while(myDataReader.Read()){
// loop through each excel row adding a new respective datarow to my datatable
DataRow a_row = ds.Tables["products"].NewRow();
for (col = 0; col < num_columns; col ++){
try { a_row[col] = rdr.GetString(col); }
catch { a_row[col] = rdr.GetValue(col).ToString(); }
}
ds.Tables["products"].Rows.Add(a_row);
}
Je ne comprends pas pourquoi il ne me laisse pas lire dans des valeurs comme l' n######
. Comment puis-je faire cela?