elaborare dati importati da excel

  • Creatore Discussione Creatore Discussione amhal
  • Data di inizio Data di inizio

amhal

Utente Attivo
17 Feb 2011
89
1
8
Ciao a tutti ho questo problema:

importo dati da excel tramite questo codice:
PHP:
<?php
require_once 'Excel/reader.php';

$data = new Spreadsheet_Excel_Reader();

$data->setOutputEncoding('CP1251'); // Set output Encoding.

$data->read('report.xls');

error_reporting(E_ALL ^ E_NOTICE);


echo "<table id='tab'>";

echo <<<stampa
				<th>SHOWDESC</th>
				<th>N°</th>
				<th>Tipo biglietto</th>
				<th>DATA</th>
stampa;
	
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {        

echo "<tr>";	

for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {			

echo "<td>".$data->sheets[0]['cells'][$i][$j]."</td>";

}	

echo "</tr>";

}

echo "</table>";

?>

fino qui tutto ok, il problema è che nel foglio excel l'ultima colonna è formattata con campo data e quando importo i dati php mi aumenta il giorno di 1 es: la data è 02/11/2013 e mi ritrovo 03/11/2013!!
inoltre vorrei inviare questi dati a un db per fare delle statitistiche, come faccio???
spero di essere stato chiaro e allego il tutto così lo vedete bene.

grazie a tutti in anticipo
 

Allegati

Ultima modifica di un moderatore:
ciao
scusa una domanda
dici che se in excel la data è 02/11/2013 diventa 03/11/2013 ma se la data fosse
in excel 30/11/2013 diventa 31/11/2013 o 01/12/2013?
cioè ti sballa solo il giorno o tutta la data?
 
ciao
forse (e sottolineo fose) vai nel file reader.php e cerca la riga

function createDate($numValue)

dovrebbe essere circa la 966
dentro la funzione createDate, cerca la riga poco sotto

$utcValue = round(($utcDays+1) * SPREADSHEET_EXCEL_READER_MSINADAY);

commentala (in modo da non perdere nulla e poter tornare indietro)
e riscrivila così (togli il +1)

$utcValue = round(($utcDays) * SPREADSHEET_EXCEL_READER_MSINADAY);

le date sembrano ora giuste, il perche "ai posteri l'ardua sentenza" ma credo che sia per colpa del sistema utc
 
Ciao e scusa se rispondo solo ora ma nn avevo internet!!!:dipser:

funziona ora le date sono corrette...nn so come ringraziarti davvero...:fonzie:

ho un'ultima domanda se è possibile... ora dove la data è la stessa, dovrei sommare i valori della colonna n°!!! devo

inserire i dati in un db? e se cosi come si fa? grazie tante in anticipo!!!
 
ciao
prima una cosa: mi raccomando "un problema un post"

comunque allla prima domanda: se fosse un db (mysql) non avrei problemi con excel non so se sarei capace (devo pensarci).
alla seconda: anche qui dipende se da excel a mysql, esporti excel in csv e il csv lo importi in mysql.
per la seconda ti conviene postare la domanda nella sezione db specificando su che db devi fare l'inport
 
ok 0:) allora rimango in linea con la prima domanda e ti confermo che dovrei mandare i dati importati da excel in un db mysql...
grazie tante..
 

Discussioni simili