che sto utilizzando la classe OleDbConnection per recuperare dati da un Excel 2000/2003 cartella di lavoro:cellulari valori di Excel vengono troncati da OLE DB provider
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");
Ora si scopre che le cellule nel foglio di lavoro con lunghezza superiore di 255 caratteri vengono troncati. Si tratta di una limitazione nel provider Microsoft.Jet.OLEDB o c'è qualcosa che posso fare al riguardo?
Chiunque?
Grazie. È una soluzione un po 'brutta, in quanto il mio installatore dovrà modificare il registro dell'utente, ma mi aspetto che funzioni. Finché un amministratore esegue il programma di installazione .. –
non capisco il suggerimento di microsofts qui/se lo cambi a 16 non basta controllare le prime 16 righe ?? – leora
@ooo Se lo si cambia a 0, esegue la scansione di tutte le righe. Fai attenzione però perché questo può avere un impatto sulle prestazioni su tavoli più grandi. – rmoore