|
|||||||
|
|
|
![]() |
|
|
Strumenti |
|
|
#1 |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
[PHP] Cella di excel che in MySql sballa!!!
In un foglio di excel ho una colonna in cui inserisco dei valori dal formato: percentuale - 2 posizioni decimali, del tipo:
22,00% 23,49% etc. Non posso cambiare formato in quanto è frutto di un copia incolla che mi incasinerebbe tutto se dovessi modificarlo. Mediante script (utilizzo la classe ExcelReader) popolo il db MySql, ma non ritrovo questi valori! Con l'esempio che ho riportato otterrei: 0.22% 0.23% (fregandosene delle cifre decimali). La variabile è di tipo varchar, ma ho anche provato decimal (10,2) (eliminando prima il segno "%") ma non cambia nulla! Possibile che non possa memorizzare la cifra esatta che ho sul foglio di excel? Grazie per un'eventuale dritta.
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
Ultima modifica di Gregor : 25-02-2009 alle 12:35. |
|
|
|
|
|
#2 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 42
|
posta lo script, può darsi che venga interpretato in qualche modo strano.
|
|
|
|
|
|
#3 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
require_once 'CARTELLA_LAVORO/reader.php'; $data = new Spreadsheet_Excel_Reader(); $data->setOutputEncoding('CP1251'); $data->read('CARTELLA_LAVORO/file.xls'); error_reporting(E_ALL ^ E_NOTICE); for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) { ... $valore1= "".$data->sheets[0]['cells'][$i][2].""; ... } Per tutte le altre colonne del file di excel nessun problema (hanno però valore diverso da percentuale - 2 cifre decimali)
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
|
|
|
|
|
|
|
#4 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 42
|
Guarda mi sono scaricato la classe e la sto controllando.
Ho visto che viene dichiarato un array con i possibili tipi di numeri, ma non c'è il tipo 2 interi + 2 decimali + % , bensì 1 solo intero. Puoi provare a leggere un file excel che al più contenga valori di 1 intero e 2 decimali + il simbolo %? Così vediamo se il problema è quello lì, non vorrei che non riconoscesse il dato presente nella cella perchè non corrisponde ad alcun elemento dell'array dei tipi possibili. Fammi sapere |
|
|
|
|
|
#5 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Ho provato ad inserire nel foglio di excel: 2,00% ottenendo nel db 0.02% 2,31% ottenendo nel db 0.02% 200,31% ottenendo nel db 20,00% Mistero!
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
|
|
|
|
|
|
|
#6 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 42
|
Spezziamo il problema. Prova a fare un echo dei risultati ottenuti direttamente dalla funzione reader, come è descritto nella pagina che hai linkato prima (che fa un semplice echo).
Vedi se i risultati sono fedeli. Se si, il problema è nelle impostazioni del DB o nello script che popola il DB (insert into ecc.ecc.). Se invece continui ad avere il problema, c'è da continuare ad esaminare la classe. ::edit:: ripensandoci, copiati tutto lo script che c'è in quella pagina, perchè ho visto che fa anche in modo di visualizzare tutti gli errori, magari ti tira fuori qualche warning sul formato dei dati ::fine edit:: Ultima modifica di packllama : 25-02-2009 alle 14:39. Motivo: aggiunta |
|
|
|
|
|
#7 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Non ci sono warning nè errori! A questo punto il problema è a monte!
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
|
|
|
|
|
|
|
#8 |
|
Member
Iscritto dal: Dec 2005
Messaggi: 42
|
Esatto.
Beh, il vantaggio è che almeno sai dove guardare. Magari ci metterò un po' a risponderti perchè dovrò guardarmela bene la classe, più che altro spero di riuscirci! Nel frattempo dacci un'occhiata anche tu, tanto è tutto codice php dovresti capirlo bene. saludos! |
|
|
|
|
|
#9 | |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Quote:
Grazie per l'aiuto
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
|
|
|
|
|
|
|
#10 |
|
Senior Member
Iscritto dal: May 2000
Messaggi: 6087
|
Rispolvero il 3d perchè ho un altro problema simile.Quello del valore % è ancora irrisolto, ma per il momento non mi preoccupa. Nell'immediato ne ho un altro di problema! In una riga di excel devo inserire dei valori del tipo ora.minuti per poi sommarli e mettere il risultato in un'altra cella. Tutto ok, usando il formato [h].mm.ss. Il punto è che sul db ci sono dei problemi se la somma è uguale o superiore a 24.00!!! Es. 99.00.00 lo immagazzina come 10:28:16 (tipo varchar). Non ci ho capito molto leggendo la classe, dite che è lo stesso problema del formato: percentuale - 2 posizioni decimali, che non è previsto dalla classe? Tnx!
__________________
PSN: jNash08 "Iddu pensa sulu a iddu..." (cit.) Più di 100 compravendite sul forum
|
|
|
|
|
| Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 05:55.










Più di 100 compravendite sul forum


Rispolvero il 3d perchè ho un altro problema simile.








