나는 학생 출석 보고서를 내보내려면 PHPExcel을 사용하여 WordPress 플러그인을 구축하고 있습니다. 지금까지 학생 데이터 (출석 포함)를 성공적으로 가져 와서 스프레드 시트로 변환하여 다운로드 할 수있었습니다. 불행히도, 이상한 버그가 있습니다. 학생이 제로 이벤트에 참석했을 때, 스프레드 시트의 셀은 0을 표시하는 대신 비어 있습니다. 나는 그것이 실제 제로로 나오길 바란다. 그러나 나는 그것을 할 길을 찾을 수 없다.빈 셀로 0을 출력하는 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');
}
$ 데이터는 다음과 같이 구성되어 학생 정보의 배열을 포함합니다 : 여기 내 스크립트의 당신이 볼 수 있듯이
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() 함수를 사용하고 있으므로이 0이 제대로 표시되도록해야합니까?
감사 데이브! 나는 그것이 단순한 무엇인가 알고 있었다, 나는 단지 그것을 사냥 할 수 없었다. 고마워, 고마워, 고마워! – Slushman
사이트에서이 위치를 찾을 수 없었지만 Google에서 1 초 검색으로이 질문이 첫 번째 결과로 나왔습니다. StackOverflow에서 더 좋은 점인지 아니면 PHPExcel의 설명서에서 잘못된 점인지는 잘 모르겠습니다. – trysis
@DaveRandom 이것은 나를 위해 작동하지 않습니다. 나는'phpexcel' 1.8을 사용하고 있습니다. – Valay