|
|
|
|
Strumenti |
30-03-2010, 19:00 | #1 |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
[PHP] Creare file excel e modificarlo
Ho una textarea dove inserisco in colonna una serie di interi.
Questi dati li memorizzo nel db (mysql) e li recupero quando mi servono, leggendoli sempre nella stessa textarea. Poichè devo sommare tutti questi valori ed effettuare su essi una serie di conti, mi sono rivolto ad excel e agli header, mediante: Codice PHP:
Se estraggo tramite una query ottengo nel file xls (che posso aprire senza prima salvarlo) la colonna che mi serve, ma non riesco a fare effettuare nessun conto Nel senso che pur mettendo una banaliiisma Codice:
=somma(a1:a20) qualcosa come . . 12 13 45=somma(a1:a20) . . Come posso tramite php fare in modo da posizionarmi su una cella del foglio xls e mettere lì le formule che mi interessano? Spero di essere stato chiaro
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
30-03-2010, 19:20 | #2 |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
devi guardare com'è la struttura di un foglio xls....
non credo basti scrivere formule qui e lì perchè queste siano giuste... comunque so che ci sono script già fatti che esportano il contenuto di tabelle sql in fogli excel, puoi usare quelli |
30-03-2010, 19:33 | #3 | ||
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Il punto è che devo tradurre "vai alla cella XX", altrimenti la formula si accoda e non funziona! Quote:
Ma dopo aver estratto da una tabella sql devo effettuare calcoli! E' qui il problema! Una soluzione sarebbe quella di fare i calcoli e momorizzare nel db, così facendo poi estraggo tutto in excel senza problemi, ma per il mio lavoro non posso farlo! Devo poter applicare le formule tramite php dopo aver esportato da sql in excel.
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
||
30-03-2010, 20:01 | #4 | |
Senior Member
Iscritto dal: Jul 2009
Città: Varès
Messaggi: 658
|
Quote:
1) operazioni non troppo complicate puoi includerle nella select; per esempio puoi fare select blablabla + blablabla e ti restituirà la somma...o usare operatori aggregati (max, min, avg ...) 2) salvare i valori in php, fare i calcoli in php, e salvare in un file xls pulito senza formule |
|
30-03-2010, 20:02 | #5 |
Junior Member
Iscritto dal: Jan 2010
Messaggi: 11
|
devi usare un pacchetto aggiuntivo di pearl che ti permette di creare dei veri file xls. Ecco cosa devi fare
1. Installare PEAR se non installato ma odvresti averlo sei usi xampp o wamp 2. installare i package OLE e Spreadsheet_Excel_Writer: è possibile farlo a linea di comando(se il comando non viene riconosciuto spostarsi nella cartella php di xampp/wamp) digitando: - pear install OLE-beta (se non specificate -beta riceverete probabilmente un errore) - pear install Spreadsheet_Excel_Writer-beta (idem come sopra) 3. riavviate Apache per rendere effettive le modifiche; per tutte le funzioni della classe ti rimando alla pagina ufficiale http://pear.php.net/package/Spreadsh...el_Writer/docs |
30-03-2010, 21:52 | #6 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Ricordo che scrivo e leggo in una textarea. Dovrei trovare il modo di "spezzettare" la colonna e creare tante variabili quanti sono i numeri della colonna (una ventina). Ma la vedo molto scomoda come soluzione (a cui però ho pensato...)
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
|
30-03-2010, 21:56 | #7 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Ma è impossibile che via php non si riesca ad andare "a capo" il che equivale a cambiare cella di excel?!?!? E' tutto qui il problema! Superato questo avrei risolto! E' interessante il fatto che se creo tramite for una tabella, riesco a mettere una variabile in ogni cella! Ma non posso farlo perchè, come detto, ho una sola variabile (colonna di interi relativi) E se stampo la variabile ogni numero finisce in una cella! Mi manca davvero poco...
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
|
31-03-2010, 09:10 | #8 |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
BINGO!
Per la tabulazione: Codice PHP:
Codice PHP:
Chissà se posso anche formattare il testo! Dovrei passare tramite php il code per la formattazione di excel Sarebbe il massimo, ma già così ho ottenuto il risultato sperato!
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
31-03-2010, 11:23 | #9 | |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
quindi se col php fai una cosa del genere print("<table border='1'>\n"); print("<tr>\n"); print(" <td><FONT COLOR='#FF8000'>100</td>\n"); print(" <td BGCOLOR='#FF8000'>200</td>\n"); print(" <td>300</td>\n"); print("</tr>\n"); print("</table>\n"); e generi un file xls lui te lo apre
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
31-03-2010, 14:41 | #10 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Codice PHP:
Cioè i tag me li ha stampati e non li ha interpretati
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
|
31-03-2010, 15:18 | #11 | |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
<table border='1'> <tr> <td><FONT COLOR='#FF8000'>100</td> <td BGCOLOR='#FF8000'>200</td> <td><b>300</b></td> </tr> </table> funziona!
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
01-04-2010, 07:35 | #12 |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Mettendo in coda questa tabella formatatta a quanto già stampo, effettivamente la formattazione resta, però mi sballa tutto quello che c'era prima
Il mio file xls che creo al volo contiene solamente un paio di righe di testo, poi la colonna con i valori che ho preso dalla textarea ed infine delle operazioni su questi numeri. Se provo a formattare, senza usare alcuna tabella, non formatta ma stampa il codice Di sicuro la soluzione c'è... (P.S.: Non è che devo per forza passare attraverso una tabella (creata dal php)? Perchè effettivamente io stampo solo i valori nelle celle )
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum Ultima modifica di Gregor : 01-04-2010 alle 09:26. |
01-04-2010, 08:32 | #13 | |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
però se vuoi pure formattare il testo, secondo me è + comodo alla fine devi printare solo un paio di tag in +... e per le celle print("<td BGCOLOR='#FF8000'>"); print("$var"); print("</td>\n");
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
01-04-2010, 09:39 | #14 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Dovrei fare una tabella 30x1 (ho circa 30 righe) e mettere in ogni riga un numero, ma non posso mettere mano alla stringa (della textarea) formata da 30 numeri interi relativi
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
|
01-04-2010, 09:45 | #15 |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Ecco come genero al momento il file xls:
Codice PHP:
Naturalmente senza formattazione...
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum Ultima modifica di Gregor : 01-04-2010 alle 09:47. |
01-04-2010, 12:26 | #16 |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
nn avevo capito che avevi tutti i valori in una sola variabile...
scusa come esegui la query? hai provato ad eseguire la query in modo che ti tiri fuori i dati già intabellati? se il risultato della tua query invece che: 100 200 300 fosse qualcosa tipo <td>100</td><td>200</td><td>300</td> a quel punto potresti mettere direttamente la stringa sorry se sparo cavolate...ma nn sapendo esattamente come è strutturato il tuo processo...nn è facile azzeccare la soluzione migliore
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
01-04-2010, 14:24 | #17 | ||||
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Sono interi volutamente inseriti in colonna! Quote:
Quote:
Considerato che i numeri vanno da 1 cifra a 3 e che possono avere anche segno negativo, la vedo dura Quote:
Forse una soluzione esiste, ma non è semplice come credevo Mi aspettavo di formattare in php style....
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
||||
01-04-2010, 18:33 | #18 | |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
nn mi pare così incasinato concatenare quei tag
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
02-04-2010, 07:47 | #19 | |
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
... 10 12 -30 450 ... Inserisco i dati nella tabella sql (tramite UPDATE), quindi vengono memorizzati come ...1012-30450... Quando recupero questi valori (tramite SELECT) li inserisco nella textarea e automaticamente li ritrovo incolonnati. Quindi ci sarebbe da mettere mani nella stringa ...1012-30450...per poter inserire tag da mandare nella tabella SQL....il che non mi pare comodissimo. Che dici? Tnx!
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum |
|
02-04-2010, 08:04 | #20 | |
Senior Member
Iscritto dal: Mar 2001
Città: PV Milano Nord
Messaggi: 3851
|
Quote:
ma soprattutto non capisco DOPO come fai a rimetterli incolonnati bisognerebbe vedere le query cmq come soluzione così al volo...mi viene in mente che cmq potresti fare 2 query...una coi dati che ti servono per la textarea e l'altra per i dati che ti servono sul foglio xls
__________________
"W la foca, che dio la benedoca"
poteva risolvere tutto la sinistra negli anni in cui ha governato e non l'ha fatto. O sono incapaci o sta bene anche a "loro" cosi. L'una o l'altra inutile scandalizzarsi.[plutus] |
|
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 00:42.