|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Leggere file Excel in Php
Come da oggetto. Vorrei leggere dei dati contenuti in un file excel per poi riportarli su di una pagina web. Come fare ? Dove trovare info ? A quanto ho capito forse si può utilizzare OBDC...
|
|
|
|
|
|
#2 |
|
Senior Member
Iscritto dal: Oct 2004
Città: Acireale
Messaggi: 447
|
Se sono dati semplici li puoi trasformare in CSV con Excel e leggerli
tramite PHP.
__________________
Ho concluso acquisti e/o vendite con : SHIVA>>LuR<<, TheGaiden, ArvMau |
|
|
|
|
|
#3 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Trasformarli in csv sarebbe un problema, in effetti sono molti file e aggiornati abbastanza spesso, salvarli ogni volta anche in CSV non sarebbe l'optimum. Comunque come leggere file CSV allora ?
|
|
|
|
|
|
#4 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
I CSV li leggi con la funzione file... Ogni riga diventa un elemento di un vettore... Poi ogni elemento del vettore lo espandi con la funzione explode usando come delimiter la virgola...
|
|
|
|
|
|
#5 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Ok, pensandoci bene potrei fare un pulsantino "Pubblica sul web" e lo salvo in CSV...
Ma con gli XLS non c'è speranza ? |
|
|
|
|
|
#6 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
E' fattibile con i driver ODBC...ma non tutti gli spazi web permettono l'uso dei driver ODBC...e non tutti gli hosting sono Windows
|
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Quote:
|
|
|
|
|
|
|
#8 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Vari funzioni ede esempi li trovi qui: http://it2.php.net/manual/it/function.odbc-connect.php
Non so se ci sono esempi con Excel, ma anche se non ci sono basta che trovare esempi anche in altri linguaggi, tanto quello che ti interessa sono la stringa di connessione e la struttura delle query... |
|
|
|
|
|
#9 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Esempio di stringa di connessione: http://www.able-consulting.com/MDAC/...DriverForExcel
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Ho provato a definire in Odbc un file xls chiamato "Orario" e ho provato:
$Oconn = odbc_connect("Orario", "Utente1", "Pass1") ma giustamente mi becco: Warning: odbc_connect(): SQL error: [Microsoft][Driver Manager ODBC] Nome origine dati non trovato e driver predefinito non specificato., SQL state IM002 in SQLConnect in C:\Programmi\Apache Group\Apache2\htdocs\Index.php on line 3 Come usare quell'impostazione come dal tuo link? (oConn.Open "Driver={Microsoft Excel Driver (*.xls)};" & _ "DriverId=790;" & _ "Dbq=c:\somepath\mySpreadsheet.xls;" & _ "DefaultDir=c:\somepath" ) Ultima modifica di Ldmx : 31-03-2005 alle 18:43. |
|
|
|
|
|
#11 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Metti questa stringa:
"Driver={Microsoft Excel Driver (*.xls)};". "DriverId=790;". "Dbq=c:\somepath\mySpreadsheet.xls;". "DefaultDir=c:\somepath" Al posto di "Orario"... Nome utente e password lasciali vuoti... |
|
|
|
|
|
#12 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
Ho provato ad eseguire la connessione che dopo varie bestemmie ha funzionato. Avevo provato a mettere il percorso della root "C:\" e mi dava un parse error, poi casualmente ho provato a cambiare percorso e a quel punto funzionava !!
Ora sono al punto di eseguire la query, ma mi da errore "non è riuscito a trovare l'oggetto Dati" che sarebbe il mio foglio excel. Il codice è questo: <? $oConn = odbc_connect("Driver={Microsoft Excel Driver (*.xls)};". "DriverId=790;". "Dbq=c:\Cartella\Prova.xls;". "DefaultDir=c:\Cartella", "", ""); $StrSql = "Select B from Dati Where A = 1"; Print $StrSql; $Risultato = odbc_exec($oConn, $StrSql); Echo $Risultato ?> |
|
|
|
|
|
#13 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Dai un'occhiata qui:
http://www.idude.net/excel/articles/...atasources.asp Ora ti posto il codice funzionante... |
|
|
|
|
|
#14 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Codice PHP:
|
|
|
|
|
|
#15 |
|
Senior Member
Iscritto dal: Sep 2000
Città: Roma
Messaggi: 401
|
GRANDE !!
Mi ero accorto che serviva il $ nel nome del foglio, però poi non sapevo come selezionare le colonne e i valori !! Mi sembra di capire che quindi una WHERE non è utilizzabile... ...poi ci provo magari tentanto un Dati$.A$ = 'xxx'....
Ultima modifica di Ldmx : 06-04-2005 alle 10:02. |
|
|
|
|
|
#16 |
|
Senior Member
Iscritto dal: Apr 2000
Città: Vicino a Montecatini(Pistoia) Moto:Kawasaki Ninja ZX-9R Scudetti: 29
Messaggi: 53971
|
Credo che si possa fare una where, ma solo quando nella prima riga di ogni colonna c'è il nome del campo...
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 14:05.











...poi ci provo magari tentanto un Dati$.A$ = 'xxx'....








