1. 云栖社区>
  2. PHP教程>
  3. 正文

导出excel方法封装以及乱码处理

作者:用户 来源:互联网 时间:2017-12-01 11:35:31

excel导出乱码封装方法处理

导出excel方法封装以及乱码处理 - 摘要: 本文讲的是导出excel方法封装以及乱码处理,$column:表头栏目$data:导出的数据(已经处理过状态字段转化为汉字)$filename:导出文件名字以及表头设置function excel_down($column,$data,$filename){if(!is_array($

$column:表头栏目
$data:导出的数据(已经处理过状态字段转化为汉字)
$filename:导出文件名字以及表头设置
function excel_down($column,$data,$filename)
{
if(!is_array($column) or !is_array($data)) {
return false;
}
if(empty($filename)){
$filename = '导出文件';
}
//excel表映射
$excelarm = array('A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z','AA','AB','AC','AD');
//引入phpexcel.php
require_once FCPATH.'shared/libraries/PHPExcel.php';
// Create new PHPExcel object
$objPHPExcel = new PHPExcel();
// Set document properties
$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")
->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")
->setSubject("Office 2007 XLSX Test Document")->setDescription("Test document for Office 2007 XLSX, generated using PHP classes.")
->setKeywords("office 2007 openxml php")->setCategory("Test result file");
//合并
$objPHPExcel->getActiveSheet()->mergeCells('A1:D1');
// 表头
$objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1',$filename);
$num = count($column);
for ($k=0;$k<$num;$k++){
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($excelarm[$k].'2', $column[$k]);
}
//数据设置
$len = count($data);
for ($i = 0; $i < $len; $i++) {
for($j = 0;$j < $num;$j++){
$arr = array_values($data[$i]);
$objPHPExcel->getActiveSheet(0)->setCellValue($excelarm[$j]. ($i + 3), $arr[$j]);
}
}
// Rename sheet
$objPHPExcel->getActiveSheet()->setTitle($filename);
// Set active sheet index to the first sheet, so Excel opens this as the first sheet
$objPHPExcel->setActiveSheetIndex(0);
// 输出
ob_end_clean();//清楚缓冲避免乱码
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');
}

以上是云栖社区小编为您精心准备的的内容,在云栖社区的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索excel , 导出 , 乱码 , 封装 , 方法 , 处理 ,以便于您获取更多的相关知识。

弹性可伸缩的计算服务,助您降低 IT 成本,提升运维效率

40+云计算产品,6个月免费体验

现在注册,免费体验40+云产品,及域名优惠!

云服务器9.9元/月,大学必备
Kubernetes上基于Istio体验云原生应用实践 资料下载