phpExcel 导出
来源:互联网 发布:好用的桌面便签 知乎 编辑:程序博客网 时间:2024/05/19 03:45
$lists = ''; //sql查询结果;
$total_money = ''; $filename="order_excel"; // 文件名称 $headArr=array("ID","用户名称","专家名称","专家订单","订单价格","消费类型","订单类型","订单时间","订单有效期"); $title = "订单明细"; // 文件标题 $total_name = '总金额'; $this->exportExcel($filename,$title,$headArr,$order_listss,$total_name,$total_money);
第一种:
function exportExcel($filename,$expTitle,$expCellName,$expTableData,$total_name='',$total_money='')
{ $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称 $fileName = $filename.date('_YmdHis');//or $xlsTitle 文件名称可根据自己情况设定 $cellNum = count($expCellName); $dataNum = count($expTableData); Vendor("PHPExcel.PHPExcel"); Vendor("PHPExcel.PHPExcel.Writer.Excel5"); Vendor("PHPExcel.PHPExcel.PHPExcel.IOFactory.php"); $objPHPExcel = new \PHPExcel(); $cellName = 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','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'); $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1');//合并单元格 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' Export time:'.date('Y-m-d H:i:s')); for($i=0;$i<$cellNum;$i++){ $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i]); } $column = 3; $objActSheet = $objPHPExcel->getActiveSheet(0); foreach($expTableData as $keys => $rows){ $span = ord("A"); foreach($rows as $keyName=>$value){ $j = chr($span); $objActSheet->setCellValue($j.$column, $value); $span++; } $column++; } if (!empty($total_money) && !empty($total_name)) { $objActSheet->setCellValue('A'.$column, $total_name); $objActSheet->setCellValue('B'.$column, $total_money[0]['total_money']); } header('pragma:public'); header('Content-type:application/vnd.ms-excel;charset=utf-8;name="'.$xlsTitle.'.xls"'); header("Content-Disposition:attachment;filename=$fileName.xls");//attachment新窗口打印inline本窗口打印 $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $objWriter->save('php://output'); exit; }
第二种:
/** * excel表格导出 * @param string $fileName 文件名称 * @param array $expTitle 表头名称 * @param array $expTableData 要导出的数据 * @author static7 */function exportExcel($filename,$expTitle,$expCellName,$expTableData){// $xlsTitle = iconv('utf-8', 'gb2312', $expTitle);//文件名称// $fileName = $expTitle;//or $xlsTitle 文件名称可根据自己情况设定 $cellNum = count($expCellName); $dataNum = count($expTableData); vendor("PHPExcel"); $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"); ob_clean(); //解决文件损坏// Add some data $cellName = 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','AE','AF','AG','AH','AI','AJ','AK','AL','AM','AN','AO','AP','AQ','AR','AS','AT','AU','AV','AW','AX','AY','AZ'); // $nowDate = date('Y-m-d H:i', time()); $objPHPExcel->getActiveSheet(0)->mergeCells('A1:'.$cellName[$cellNum-1].'1'); //合并单元格 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $expTitle.' 导出时间:'.date('Y-m-d H:i:s')); for($i=0;$i<$cellNum;$i++){ $objPHPExcel->setActiveSheetIndex(0)->setCellValue($cellName[$i].'2', $expCellName[$i]); } $column = 3; $objActSheet = $objPHPExcel->getActiveSheet(0); foreach($expTableData as $keys => $rows){ // 行写入 $span = ord("A"); foreach($rows as $keyName => $value){ // 列写入 $j = chr($span); $objActSheet->setCellValue($j.$column, $value); $span++; } $column++; } // Rename worksheet 重命名工作表,修改sheet名称 $objPHPExcel->getActiveSheet()->setTitle('Simple');// Set active sheet index to the first sheet, so Excel opens this as the first sheet $objPHPExcel->setActiveSheetIndex(0); // 设置活动单指数到第一个表,所以Excel打开这是第一个表// Redirect output to a client’s web browser (Excel2007) header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); header("Content-Disposition: attachment;filename=$filename.xlsx"); header('Cache-Control: max-age=0');// If you're serving to IE 9, then the following may be needed header('Cache-Control: max-age=1');// If you're serving to IE over SSL, then the following may be needed header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1 header ('Pragma: public'); // HTTP/1.0 $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); $objWriter->save('php://output'); exit;}
0 0
- phpexcel 导出
- PHPExcel 导出
- PHPExcel导出
- PHPExcel导出
- PHPExcel导出
- phpExcel 导出
- PHPExcel导出
- phpexcel导出
- phpexcel导出
- phpExcel导出
- phpexcel导出excel文件
- PHPExcel导出excel
- PHPexcel导出excel文件
- PHPexcel 导出excel
- PHPExcel导出excel
- phpexcel导入导出
- PHPExcel导入导出excel
- phpexcel导出文件
- 移动web特别样式处理
- C++ 多继承和虚继承的内存布局
- 实验室信息管理系统LIMS的25个典型模块
- 模拟可变分区存储管理的内存分配(C)
- Kotlin Primer·第三章·Kotlin 与 Java 混编
- phpExcel 导出
- shiro.ini 配置详解
- Glide 加载Gif 导致cpu居高不下的解决办法
- eclipse中tomcat启动超时的解决方法
- Appium Python app 启动各参数的意思
- PAT 1110
- CSS+DIV布局中absolute和relative
- AndroidStudio加上类注释,方法注释模板
- Java读写Excel之POI超入门