在开发项目当中,不少也会遇到导入导出Excel表格。然而,没有弄过的小白,估计抓破头皮,都不一定能想得出来怎么实现,但是百度是个好东西。本人也通过百度,最终做出来了。好了,废话不多说,哥要开始表演啦,开好啦!
1、需要下载PHPExcel的SDK。我已经放在网盘中了,还没下载好的朋友,可以去下载哦。PHPExcel下载 ,提取码:engi
2、步骤: 把下载好的PHPExcel,放在verdor的根目录哦
html:
php:
<?php
namespace app\admin\controller;
use think\Db;
use think\Request;
use think\Controller;
class Message extends Controller
{
public function index(){
return $this->fetch();
}
/**
* 导出excel文件
*/
public function excel_data(){
ob_clean();
vendor("PHPExcel.PHPExcel");
$objPHPExcel = new \PHPExcel();
$objProps = $objPHPExcel->getProperties();
$modelname = "留言表" . date('Y-m-d');
$showdata = db('message')->order('message_id desc')->select();
if (!$showdata) {
echo '<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />';
echo '<script type="text/javascript">alert("无记录");history.go(-1);</script>';
exit;
}
$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(20);
$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(20);
// 表头
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '名称')
->setCellValue('B1', '加盟电话')
->setCellValue('C1', '留言信息')
->setCellValue('D1', '留言时间')
->setCellValue('E1', '加盟项目');
// 内容
$column = 2;
foreach ($showdata as $k => $data) {
$objPHPExcel->getActiveSheet(0)->setCellValue('A' . $column, $data['message_id']);
$objPHPExcel->getActiveSheet(0)->setCellValue('B' . $column, $data['tel']);
$objPHPExcel->getActiveSheet(0)->setCellValue('C' . $column, $data['content']);
$objPHPExcel->getActiveSheet(0)->setCellValue('D' . $column, date("Y-m-d H:i:s",$data['addtime']));
$objPHPExcel->getActiveSheet(0)->setCellValue('E' . $column, $data['brand']);
$column++;
}
$objPHPExcel->getActiveSheet()->setTitle($modelname);
$objPHPExcel->setActiveSheetIndex(0);
// 输出
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename=' . $modelname . '.xls');
header('Cache-Control: max-age=0');
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
$objWriter->save('php://output');
exit;
}
}
最终的效果图: