PHP Excel 讀取xls,xlsx檔案並出入資料然後儲存
阿新 • • 發佈:2019-02-06
客戶有個需求就是在給定的excle檔案中插入相關資料,一定要注意excle裡的一些格式會匯出phpexcle讀取後無法儲存,折騰了許久,把excel檔案比較特殊的格式去掉就能正常讀取,插入資料,儲存了,下面給大家示例我的程式碼
require_once 'PHPExcel.php'; $objPHPExcel = new PHPExcel(); //開啟xlsx格式的檔案要使用 $excelType = PHPExcel_IOFactory::identify('attache/infotemp.xlsx'); $objReader=PHPExcel_IOFactory::createReader('Excel2007'); $objPHPExcel = $objReader->load('attache/infotemp.xlsx'); //這裡具體需要什麼資料自行根據需求了 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i,"你想要的資料");
$objPHPExcel->getActiveSheet()->setTitle('Manifest');
$objPHPExcel->setActiveSheetIndex(0);
$filename=urlencode('Manifest').'_'.date('Y-m-dHis'); header('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header('Content-Disposition: attachment;filename="'.$filename.'.xlsx"'); header('Cache-Control: max-age=0'); $objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); $objWriter->save('php://output');exit;
//下面是開啟xls檔案和儲存
$excelType = PHPExcel_IOFactory::identify('attache/infotemp.xls'); $objReader=PHPExcel_IOFactory::createReader('Excel5'); $objPHPExcel = $objReader->load('attache/infotemp.xls'); //這裡具體需要什麼資料自行根據需求了 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A'.$i,"你想要的資料");
$objPHPExcel->getActiveSheet()->setTitle('Manifest');
$objPHPExcel->setActiveSheetIndex(0);
$filename=urlencode('Manifest').'_'.date('Y-m-dHis');
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.$filename.'.xls"');
header('Cache-Control: max-age=0');
$objWriter=PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
$objWriter->save('php://output');exit;