n° 185
Maggio/Giugno 2013
Maggio 20, 2013, 01:17:11 am *
Benvenuto! Accedi o registrati.
Hai dimenticato l'e-mail di attivazione?

Accesso con nome utente, password e durata della sessione
Notizia:
 
   Indice   Linux Windows Techassistance Gameassistance videogame hardware Aiuto Ricerca Agenda Downloads Accedi Registrati  

* Messaggi recenti
Messaggi recenti
Pagine: [1]   Vai gių
  Stampa  
Autore Discussione: Leggere da file excel  (Letto 5733 volte)
0 utenti e 1 Utente non registrato stanno visualizzando questa discussione.
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« inserita:: Marzo 06, 2008, 12:28:14 am »

Ciao a tutti,
sapete dirmi come posso leggere dei dati (delle colonne) da un file excel usando c#?
visto che nn conosco il linguaggio, nel caso, potete postarmi un breve frammento di codice?
grazie
Registrato
amdbook
Moderator
Hero Member
*****

Karma: +11/-1
Scollegato Scollegato

Messaggi: 1662



Mostra profilo WWW
« Risposta #1 inserita:: Marzo 06, 2008, 12:33:29 pm »

Per leggere i dati da un foglio Excel puoi utilizzare un oggetto OleDbConnection ed un oggetto OleDbDataAdapter, come nel seguente esempio:

Codice:
//Nella stringa di connessione, HDR=YES indica che la prima riga contiene il nome delle colonne,
//HDR=NO ovviamente indica che quest'ultime non sono presenti

//Per Excel 2007, la stringa di connessione da utilizzare č la seguente:
//@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source=percorso_completo_file_Excel.xlsx;Extended Properties='Excel 12.0;HDR=YES';"

using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=percorso_completo_file_Excel.xls;Extended Properties='Excel 8.0;HDR=Yes;';"))
{
   conn.Open();
   DataSet ds = new DataSet("FoglioExcel");
   OleDbDataAdapter adapter = new OleDbDataAdapter("select * from [Nome_Foglio_Di_Lavoro$]", conn);
   adapter.Fill(ds);
   conn.Close();
}

Ricordati che se utilizzi Excel 2007, devi scaricare ed installare (se non l'hai giā fatto) i "Data Connectivity Components", a questo link:

http://www.microsoft.com/downloads/details.aspx?FamilyID=7554F536-8C28-4598-9B72-EF94E038C891&displaylang=en
Registrato
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« Risposta #2 inserita:: Marzo 06, 2008, 01:13:36 pm »

se non ho Office 2007 devo cmq installare qualcosa?
Grazie comunque
Registrato
amdbook
Moderator
Hero Member
*****

Karma: +11/-1
Scollegato Scollegato

Messaggi: 1662



Mostra profilo WWW
« Risposta #3 inserita:: Marzo 06, 2008, 01:16:14 pm »

Se non hai Office 2007, ma hai le versioni precedenti non dovrebbero esserci problemi.

Registrato
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« Risposta #4 inserita:: Marzo 07, 2008, 12:29:04 am »

come diventa se il file da leggere č presente sul web ad un preciso indirizzo?
Di tale file devo leggere solo alcune colonne... come accedo alle colonne che mi servono?
scusa ma sono alle prime armi con c#
grazie

Ps: scusa ma per OleDbConnection devo importare qualcosa??
Registrato
amdbook
Moderator
Hero Member
*****

Karma: +11/-1
Scollegato Scollegato

Messaggi: 1662



Mostra profilo WWW
« Risposta #5 inserita:: Marzo 07, 2008, 06:47:23 am »

Citazione
come diventa se il file da leggere č presente sul web ad un preciso indirizzo?
Devi eseguire il download in locale per utilizzarlo

Citazione
Ps: scusa ma per OleDbConnection devo importare qualcosa??
Si, il namespace  System.Data.OleDb

Citazione
Di tale file devo leggere solo alcune colonne... come accedo alle colonne che mi servono?
utilizzando il DataTable popolato tramite l'oggetto OleDbDataAdapter
Registrato
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« Risposta #6 inserita:: Marzo 07, 2008, 06:48:14 pm »

...ciao..
ho fatto delle prove e per adesso sembra che riesco ad aprire il file  (in locale).
Come faccio se devo leggere una colonna alla quale non ho dato un nome nella prima riga?
es devo leggere la colonna B (quella della griglia di excel).

Come posso fare x leggere un file presente sulla rete senza portarlo in locale a mano?
Registrato
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« Risposta #7 inserita:: Marzo 08, 2008, 03:16:39 pm »

ragā niente?
Registrato
amdbook
Moderator
Hero Member
*****

Karma: +11/-1
Scollegato Scollegato

Messaggi: 1662



Mostra profilo WWW
« Risposta #8 inserita:: Marzo 08, 2008, 03:44:54 pm »

Citazione
ragā niente?
Non tutti possono essere a disposizione 24h.

Citazione
Come posso fare x leggere un file presente sulla rete senza portarlo in locale a mano?
Se il file si trova in una rete locale, in una cartella condivisa, imposta il percorso completo di rete nella
stringa di connessione.
Registrato
Salento
Newbie
*

Karma: +0/-5
Scollegato Scollegato

Messaggi: 41


Mostra profilo
« Risposta #9 inserita:: Marzo 08, 2008, 03:53:38 pm »

...no, il file non č in una rete locale.. ma posso ottenerlo solo da un url http.
Per leggere una particolare colonna del file excel sai come posso fare?
X colonna intendo ad esempio la colonna A del foglio...

PS: scusa x la pressione
Registrato
Pagine: [1]   Vai su
  Stampa  
 
Vai a:  

Copyright © 2011 Edizioni Master SpA. p.iva : 02105820787

Tutti i diritti di proprietà letteraria e artistica riservati. - Privacy



Links to Page