php excel 导出功能
phpExcel类最新的下载地址
下载地址:https://github.com/PHPOffice/PhpSpreadsheet
导出功能说明
/**
* 导出Excel模板
* @param array $title 标题
* @param array $data 数据
* @param string $fileName 文件名
* @param string $savePath 保存路径
* @param bool $isDown 是否下载
* @throws PHPExcel_Exception
* @throws PHPExcel_Reader_Exception
* @throws PHPExcel_Writer_Exception
*/
public function exportExcel($title=[], $data=[], $fileName='Excel模板', $savePath='./', $isDown=false)
{
$this->load->library('phpexcel/Classes/PHPExcel'); #引入excel类
$phpexcel = new PHPExcel();
$cellName = array('A', 'B');
$phpexcel->getActiveSheet(0)->setTitle('模板');
$_row = 1;
$title = ['编号', '任务'];
foreach ($title AS $key => $v) { //设置列标题
$phpexcel->setActiveSheetIndex(0)->setCellValue($cellName[$key] . $_row, $v);
}
$data = empty($data) ? [
['1', '网上购物1'],
['2', '网上购物2'],
['3', '启动导航']] : $data;
foreach ($data as $k => $val) {
foreach ($val as $kk => $v) {
$phpexcel->setActiveSheetIndex(0)->setCellValue($cellName[$kk] . ($_row+$k), $v);
}
}
if($isDown){ //网页下载
header('pragma:public');
header("Content-Disposition:attachment;filename=$fileName.xls");
$objWrite->save('php://output');exit;
}
$_fileName = iconv("utf-8", "gb2312", $fileName); //转码
$_savePath = $savePath.$_fileName.'.xlsx';
$objWrite->save($_savePath);
return $savePath.$fileName.'.xlsx';
}
方法调用样例
exportExcel([‘编号’, ‘任务’,], [[‘1’,'线上游戏 '],[‘2’,‘线下游戏’]], ‘模板’, ‘./’, true);
excel设置单元格大小
$phpexcel = new PHPExcel();
$phpexcel->setActiveSheetIndex(0);
$cellName = ['A', 'B', 'C', 'D', 'E','F'];
$phpexcel->getActiveSheet()->getColumnDimension('B')->setWidth(30);//设置列B宽度为30
$phpexcel->getActiveSheet()->getColumnDimension('C')->setWidth(30);
$phpexcel->getActiveSheet()->getColumnDimension('B')->setAutoSize(true);//设置宽度自动