- public function exportExcel() {
- $data = [
- ['name' => 'aa', 'telephone' => '133xxxx4851'],
- ['name' => 'bb', 'telephone' => '135xxxx5862'],
- ['name' => 'cc', 'telephone' => '136xxxx6873'],
- ['name' => 'dd', 'telephone' => '137xxxx7884']
- ];
- $objPHPExcel = new \PHPExcel();
- if (empty($filename)) $filename = date('Y-m-d H:i:s', time());
- $objActSheet = $objPHPExcel->getActiveSheet();
- $objActSheet->setTitle("用户信息表");
- // 设置表头
- $names = [
- 'A' => '名字', 'B' => '手机号'
- ];
- foreach ($names as $key => $value) {
- // 水平居中
- $objActSheet->getStyle($key)->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
- // 垂直居中
- $objActSheet->getStyle($key)->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
- // 设置宽
- $objActSheet->getColumnDimension($key)->setWidth(20);
- // 设置列名
- $name = $key . '1';
- $objActSheet->setCellValue($name, $value);
- // 设置字体
- $objActSheet->getStyle($name)->getFont()->setBold(true);
- }
- // 设置数据
- foreach ($data as $k => $v) {
- $name = ArrayHelper::getValue($v, 'name');
- $telephone = ArrayHelper::getValue($v, 'telephone');
- $k += 2;
- $objActSheet
- ->setCellValueExplicit('A' . $k, $name)
- ->setCellValue('B' . $k, $telephone);
- }
- $objActSheet->freezePane('A2');
- // 设输出格式
- $objWriter = new \PHPExcel_Writer_Excel2007($objPHPExcel);
- header("Pragma: public");
- header("Expires: 0");
- header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
- header("Content-Type:application/force-download");
- header("Content-Type:application/vnd.ms-execl");
- header("Content-Type:application/octet-stream");
- header("Content-Type:application/download");;
- header('Content-Disposition:attachment;filename="' . $filename . '.xlsx');
- header("Content-Transfer-Encoding:binary");
- $objWriter->setPreCalculateFormulas(true);
- $objWriter->save('php://output');
- }
来源: http://www.bubuko.com/infodetail-3350712.html