Я создаю плагин для WordPress, используя PHPExcel для экспорта отчетов о посещаемости студентов. До сих пор я смог успешно взять массив данных об учениках (включая посещаемость), преобразовать и загрузить их в виде электронной таблицы. К сожалению, есть странная ошибка: когда ученик посещал ноль событий, эта ячейка в электронной таблице пустая, а не показывает ноль. Я бы предпочел, чтобы это получилось с фактическим нулем, но я не могу найти способ сделать это. Вот мой сценарий:
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 содержит массив информации об ученике, который структурирован следующим образом:
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
)
.
.
.
)
Как вы можете видеть на примере данных, каждый из этих студентов посетил по 1 витрине, но ни одного семинара. Когда эта электронная таблица загружена и открыта в Excel, 1 хорошо отображается, но ячейки семинара пустые. Поскольку я использую функцию fromArray () для заполнения электронной таблицы, нужно ли что-то сделать, чтобы эти нули выглядели правильно?