PHPExcel 是我用過最久最強大的 PHP 檔案轉成 Excel 檔案的套件,簡單介紹一下我常用到的方式,PHPExcel 可以儲存成 Office 2007 的格式,但有鑑於流通性的問題,下方的範例將格式存成 2003 的版本。
include_once 'lib/PHPExcel.php'; $excel = new PHPExcel(); $excel->setActiveSheetIndex(0); // 選擇sheet $excel->getActiveSheet()->setTitle('sample'); // 將sheet命名 $excel->getActiveSheet()->SetCellValue('A1', 'Hello'); // 設定內容 $type = PHPExcel_Cell_DataType::TYPE_STRING; $excel->getActiveSheet()->getCell('B1')->setValueExplicit('0966666666', $type); // PHPExcel 可以選擇 Excel 的欄位格式 // 將格式轉成 string 可以避免像手機開頭的 0 自動忽略的問題 $excel->getActiveSheet()->getColumnDimension('A1')->setWidth(20); // 設定寬度 // 如果你無法預知欄位多寡,可以用動態的方式放置資料 for ($i = 2; $i < 5 ; $i++) { for ($j = 0; $j < 2; $j++) { $excel->getActiveSheet()->setCellValueByColumnAndRow($j, $i, 'test'); $excel->getActiveSheet()->getCellByColumnAndRow(1, $i)->setValueExplicit('0966666666', $type); } } // 下載 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="sample.xls"'); header('Cache-Control: max-age=0'); $objWriter = PHPExcel_IOFactory::createWriter($excel, 'Excel5'); $objWriter->save('php://output');
沒有留言:
張貼留言