Scrivo in Excel file utilizzando OLEDB (C#). Quello che mi serve è solo il formato dei dati RAW.OLEDB, Scrittura di una cella di Excel senza anticipo apostrofo
ho notato tutte le cellule (intestazioni e valori) sono preceduti da apostrofo (')
E' un modo per evitare di aggiungerli in tutte le celle di testo?
Qui è la mia stringa di connessione: uso
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties='Excel 8.0;HDR=Yes'";
Ho provato IMEX = 1 in questo modo:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
Ma dopo che sto ricevendo sotto l'errore:
Il motore di database Microsoft Jet non è stato in grado di trovare l'oggetto 'C: \ Temp \ Nuova cartella \ MF_2009_04_19_2008-11-182009_DMBHCSAM1118.xls'.
Assicurarsi che l'oggetto esista e che si digiti il nome e il nome del percorso correttamente.
uso Infine ho provato IMEX = 0 in questo modo:
string connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" +
filePath + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=0\"";
Questa volta non exeptions sollevate.
Purtroppo non è ancora problema con apostrofi (in modo che ogni miei valori appare come: '123,' abc ecc ...)
Qualche idea?
Perché hai cambiato il modo in cui definisci le Proprietà estese? Nel tuo connectionString originale, hai utilizzato le virgolette singole: "Excel 8.0; HDR = Yes", ma in seguito si utilizzano virgolette (con escape) doppie: \ "Excel 8.0; HDR = Yes; IMEX = 1 \" Potrebbe essere il problema? –
Testato anche con 'e il comportamento è lo stesso. – Maciej
ricorda in Excel che sei limitato a 15 punti decimali di precisione. L'ADO sta probabilmente facendo questo per permetterti di inserire dati che Excel potrebbe altrimenti tentare di arrotondare e accorciare. –