J'utilise la classe OleDbConnection pour récupérer des données à partir d'un classeur Excel 2000/2003:cellules valeurs Excel sont tronquées par OLEDB fournisseur
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
"Data Source=" + filename + ";" +
"Extended Properties=\"Excel 8.0;IMEX=1\";";
OleDbConnection connection = new OleDbConnection(connectionString);
connection.Open();
// code to get table name from schema omitted
var dataAdapter = new OleDbDataAdapter(string.Format("SELECT * FROM [{0}]", name),connection);
var myDataSet = new DataSet();
dataAdapter.Fill(myDataSet, "ExcelInfo");
Maintenant, il se trouve que les cellules de la feuille de calcul avec une plus grande longueur que 255 caractères sont tronqués. Est-ce une limitation dans le fournisseur Microsoft.Jet.OLEDB, ou y at-il quelque chose que je peux faire à ce sujet?
Quelqu'un?
Merci. C'est une solution un peu moche, car mon installateur devra modifier le registre de l'utilisateur, mais je pense que cela fonctionnera. Tant que l'administrateur exécute l'installateur .. –
je ne comprends pas la suggestion de microsoft ici/si vous le changez en 16 ne le vérifie-t-il pas juste les 16 premières rangées ?? – leora
@ooo Si vous le modifiez à 0, il balaie toutes les lignes. Attention toutefois car cela peut avoir un impact sur les performances des tables plus grandes. – rmoore