首先我们去下载PHPexcel这个类库,然后require_once 导入这几个文件,首先获取要操作模板的路径,然后load()载入该路径对象,接着就可以对excel进行操作了,$i代表从那个位置开始写入你要写入的数据,最近公司需要,所以分享下
require_once 'PHPExcel/Classes/PHPExcel.php';
require_once 'PHPExcel/Classes/PHPExcel/IOFactory.php';
require_once 'PHPExcel/Classes/PHPExcel/Reader/Excel5.php';
$filePath = './excel模板.xlsx';
//读取文件
if (!file_exists($filePath)) {
exit("该模板不存在 ");
}
$objPHPExcel = PHPExcel_IOFactory::load($filePath);
$sheet = $objPHPExcel->getSheet(0); // 读取第一個工作表
$highestColumm = $sheet->getHighestColumn(); // 取得总列数
$highestRow = $sheet->getHighestRow()-5; // 取得总行数
/** 循环读取每个单元格的数据 */
$i = 5;
for($row =2; $row <= $highestRow ; $row++) {
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A'.$i, '11-'.$i)
->setCellValue('B'.$i,rand(4,8))
->setCellValue('C'.$i,'36'.'°C')
->setCellValue('D'.$i,3000+$i*$i*$i)
->setCellValue('E'.$i,rand(1,5).'次')
->setCellValue('F'.$i,rand(1,3).'次')
->setCellValue('G'.$i,rand(1,3).'次')
->setCellValue('H'.$i,rand(1,3).'次')
->setCellValue('I'.$i,rand(1,3).'次')
->setCellValue('J'.$i,rand(1,3).'次')
->setCellValue('K'.$i,'hello')
->setCellValue('L'.$i,'word');
$i++;
}
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="'.'指定下载excel的名字'.'.xls"');
header('Cache-Control: max-age=0');
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007'); //设定写入excel的类型
$objWriter->save('php://output');