Sto costruendo un plug-in WordPress usando PHPExcel per esportare i rapporti di frequenza degli studenti. Finora, sono in grado di prendere con successo la serie di dati degli studenti (inclusa la partecipazione) e convertirli e scaricarli come foglio di calcolo. Sfortunatamente, c'è un bug strano: quando uno studente ha partecipato a zero eventi, quella cella sul foglio di calcolo è vuota invece di mostrare uno zero. Preferirei che uscisse con uno zero reale, ma non riesco a trovare un modo per farlo. Ecco il mio script:PHPExcel che emette gli zeri come celle vuote
error_reporting(E_ALL);
ini_set('include_path', ini_get('include_path').';../Classes/');
include 'PHPExcel.php';
include 'PHPExcel/Writer/Excel2007.php';
$objPHPExcel = new PHPExcel();
$objPHPExcel->setActiveSheetIndex(0);
$objPHPExcel->getProperties()->setCreator($user);
$objPHPExcel->getProperties()->setLastModifiedBy($user);
$objPHPExcel->getProperties()->setTitle($title);
$objPHPExcel->getProperties()->setSubject($title);
$objPHPExcel->getProperties()->setDescription($title);
$objPHPExcel->getActiveSheet()->fromArray($data, null, 'A1');
$objPHPExcel->getActiveSheet()->getStyle('A1:H1')->getFont()->setBold(true);
$columns = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H');
foreach ($columns as $column) {
$objPHPExcel->getActiveSheet()->getColumnDimension($column)->setAutoSize(true);
} // End $columns foreach
$file_name = str_replace(' ', '_', $title);
if ($_POST['type'] == 'spreadsheet') {
header('Content-type: application/vnd.ms-excel');
header('Content-Disposition: attachment; filename="' . $file_name . '.xls"');
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel);
$objWriter->save('php://output');
}
$ data contiene l'array di informazioni degli studenti, che è strutturato in questo modo:
Array (
[0] => Array (
[0] => First Name
[1] => Last Name
[2] => BU ID
[3] => Barcode
[4] => Major
[5] => Class
[6] => Seminars
[7] => Showcases
)
[1] => Array (
[first_name] => Seth
[last_name] => Abel
[buid] => B00385307
[barcode] => 100324707
[student_major] => CMM
[class] => MBU2100
[seminar] => 0
[showcase] => 1
)
[2] => Array (
[first_name] => Zachary
[last_name] => Abend
[buid] => B00373103
[barcode] => 100291996
[student_major] => MBU
[class] => MBU2100
[seminar] => 0
[showcase] => 1
)
.
.
.
)
Come si può vedere è i dati di esempio, i gli studenti hanno ciascuno frequentato 1 vetrina , ma zero seminari. Quando questo foglio di calcolo viene scaricato e aperto in Excel, 1 mostra bene, ma le celle del seminario sono vuote. Dal momento che sto usando la funzione fromArray() per popolare il foglio di calcolo, c'è qualcosa che dovrei fare per fare in modo che quegli zeri appaiano correttamente?
Grazie Dave! Sapevo che era qualcosa di semplice, non riuscivo a dargli la caccia. Grazie, grazie, grazie! – Slushman
Non sono riuscito a trovarlo da nessuna parte sul sito, ma una ricerca di 1 secondo su Google ha prodotto questa domanda come primo risultato. Non sono sicuro che sia più una buona cosa per StackOverflow o una cosa negativa per la documentazione di PHPExcel. – trysis
@DaveRandom questo non funziona per me. Sto usando 'phpexcel' 1.8. – Valay