/**
* 在已有excel表中插入數據例子
*/
public function readyExcel($filename){
vendor("PHPExcel.PHPExcel");
$inputFileName = $filename;//excel文件路徑
date_default_timezone_set('PRC');
// 讀取excel文件
try {
$inputFileType = \PHPExcel_IOFactory::identify($inputFileName);
$objReader = \PHPExcel_IOFactory::createReader($inputFileType);
$objPHPExcel = $objReader->load($inputFileName);
} catch(\Exception $e) {
die('加載文件發生錯誤:"'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
}
$array = [
['A','B','C','D','E','F'],
['A1','B1','C1','D1','E1','F1'],
['A2','B2','C2','D2','E2','F2']
];
$baseRow=17; //指定插入到第17行后
foreach($array as $index=>$dataRow){
$row= $baseRow +$index; //$row是循環操作行的行號
$objPHPExcel->getActiveSheet()->insertNewRowBefore($row,1); //在操作行的號前加一空行,這空行的行號就變成了當前的行號
//對應的列都附上數據和編號
$objPHPExcel->getActiveSheet()->setCellValue( 'A'.$row,$dataRow[0]);
$objPHPExcel->getActiveSheet()->setCellValue( 'B'.$row,$dataRow[1]);
$objPHPExcel->getActiveSheet()->setCellValue( 'C'.$row,$dataRow[2]);
$objPHPExcel->getActiveSheet()->setCellValue( 'D'.$row,$dataRow[3]);
$objPHPExcel->getActiveSheet()->setCellValue( 'E'.$row, $dataRow[4]);
$objPHPExcel->getActiveSheet()->setCellValue( 'F'.$row, $dataRow[5]);
}
ob_end_clean();//清除緩存區,解決亂碼問題
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="Bill.xls"');
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
https://my.oschina.net/luqiuren666/blog/3013101