Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Problemi lettura file Excell
venerdì 20 marzo 2009 - 18.31
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
AntCiar
Profilo
| Expert
936
messaggi | Data Invio:
ven 20 mar 2009 - 18:31
982_DatiImportare.zip
Salve a tutti. Ho un problema in fase di lettura di un file Excel. Premetto che nella mia applicazione non ho utilizzato riferimenti a librerie di Excel perchè avevo problemi ad usarle quando sulle macchine su cui installavo l'applicazione vi erano versioni differenti di Excel. Detto questo, tempo fa in internet avevo trovato la seguente funzione che dato un fileExcel, ne leggeva il contenuto (alla variabile 'worksheetName' occorre passare il valore 'Foglio1'). Il problema che mi trovo e' il seguente:
il file che importo (allegato al post) nella colonna A presenta dei codici articolo che, casualità, contengono solo numeri, fatta eccezione di alcuni codici alla fine che presentano anche delle lettere. Quando la mia funzione legge la tabella, vedendo che sono tutti numeri, mi imposta il tipo della colonna a numerico e così facendo quando becca quelli con le lettere, non importa nulla. Posso confermare questo perchè se provate ad inserire nella colonna A2 una parola contenente almeno una lettera, i dati vengono letti correttamente al completo.
Ho provato anche ad impostare nel file Excell le celle della colonna A come formato Testo, ma il problema persiste lo stesso.
Qualcuno mi potrebbe aiutare a risolvere il problema?
grazie a tutti.
PS in allegato c'è il file Excel che tento di importare
public static DataTable convertExcelFileToDataTable(DataTable table, string sourceFile, string worksheetName)
{
if (table == null)
{
table = new DataTable();
}
string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + sourceFile + ";Extended Properties=\"Excel 8.0;HDR=Yes;IMEX=1\"";
OleDbConnection conn = null;
//StreamWriter wrtr = null;
OleDbCommand cmd = null;
OleDbDataAdapter da = null;
try
{
conn = new OleDbConnection(strConn);
conn.Open();
cmd = new OleDbCommand("SELECT * FROM [" + worksheetName + "$]", conn);
cmd.CommandType = CommandType.Text;
da = new OleDbDataAdapter(cmd);
da.Fill(table);
}
catch (Exception exc)
{
ectre.fpgest.global.settings.Utility.VisErr(exc.Message, "", "");
}
finally
{
if (conn.State == ConnectionState.Open)
conn.Close();
conn.Dispose();
cmd.Dispose();
da.Dispose();
}
return table;
}
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !