私はPHPExcelを使用してワードプレスプラグインを構築し、学生の出席レポートをエクスポートします。これまでのところ、学生データ(出席を含む)の配列をスプレッドシートとして変換してダウンロードすることができました。残念ながら、奇妙なバグがあります。学生がゼロイベントに出席したとき、スプレッドシートのセルはゼロを表示する代わりに空白になります。私はそれが実際のゼロで出てくることを好むだろうが、私はそれを行う方法を見つけることができません。ここに私のスクリプトです:あなたが見ることができるように空白セルとしてゼロを出力するPHPExcel
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つのショーケースに参加しています
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');
}
$データは次のように構成されている学生の情報の配列が含まれていますセミナーはゼロとなりました。このスプレッドシートをダウンロードしてExcelで開くと、1は正常に表示されますが、セミナーセルは空白です。私はfromArray()関数を使用してスプレッドシートに値を設定しているので、これらのゼロが正しく表示されるようにする必要がありますか?
おかげデイブに!私はそれが何か単純であることを知っていた、私はちょうどそれを狩ることができなかった。ありがとう、ありがとう、ありがとう! – Slushman
私はサイトのどこでもこれを見つけることができませんでしたが、Googleで1秒間の検索でこの質問が第1の結果として出てきました。私はそれがStackOverflowのためのより良いものか、PHPExcelのドキュメンテーションのための悪いことであるか分かりません。 – trysis
@DaveRandomこれは私のためには機能しません。私は 'phpexcel' 1.8を使用しています。 – Valay