ho bisogno appunto di una funzione che prende in input il nome di un file excel, e restituisce un array diarray associativi con il contenuto del file excel.
la firma della funzione tipo
function getExcelData($excelfilepath) {
return $exceldata;
}
l'array di array associativi che ritorna deve essere un array in cui ogni elemento dell'array è una riga del file excel (la prima riga contieneil nome delle colonne):
$exceldata[0] è la riga 2
$exceldata[1] è la riga 3
...
$exceldata[n] è la riga ennesima-2
Quindi l'array ha 3 elementi (la prima contiene il nomedelle colonne).
Ogni riga, quindi ogni elemento dell'array, è a sua volta un arrayassociativo che contiene i dati della riga:
$exceldata[0]["campo1"] contiene quindi 1 così come$exceldata[2]["pippo"] contiene 3
io di mio mi sono un attimo messo e ho fatto una cosa come questa utilizzando la classe phpoffice/phpexcel
ma non funziona... qualcuno che puo aiutarmi?codice:$inputFileName=$UploadDirectory . $FileName; function getExcelData($inputFileName){ $inputFileName=$UploadDirectory . $FileName; try { $inputFileType = PHPExcel_IOFactory::identify($inputFileName); $objReader = PHPExcel_IOFactory::createReader($inputFileType); $phpExcel = $objReader->load($inputFileName); $sheet = $phpExcel->getSheet(0); } catch (Exception $e) { echo $e->getMessage(); } $highestrow = $sheet->getHighestRow(); $highestcolumn = $sheet->getHighestColumn(); $columncount = PHPExcel_Cell::columnIndexFromString($highestcolumn); $titles = $sheet->rangeToArray('A1:' . $highestcolumn . "1"); $body = $sheet->rangeToArray('A2:' . $highestcolumn . $highestrow); $table = array(); for ($row = 0; $row <= $highestrow - 2; $row++) { $a = array(); for ($column = 0; $column <= $columncount - 1; $column++) { $a[$titles[0][$column]] = $body[$row][$column]; } $table[$row] = $a; } var_dump ($table); return $table; }

Rispondi quotando