php原生PHPExcel插件导表(附表格合并,加粗居中及加边框换行操作)
来源:互联网 发布:java throw 编辑:程序博客网 时间:2024/05/17 22:05
PHPExcel是用来操作Office Excel文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel(BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV,Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。
1首先下载PHPExcel插件 地址:https://github.com/PHPOffice/PHPExcel
2 导入项目中 我的目录结构如下 :
3,此代码可以兼容多种类型的表格:
<?phpnamespace action\phpexcel;/*** Excel表 导出*/class excelAction extends \action{ /* *title excel標題 *column 表格栏目 *OrdersData 表格数据 *footer 表格结束行显示文字 */ public function exportexcel($title,$column,$OrdersData,$footer){ /*导入核心类*/ include 'PHPExcel.php'; require_once 'PHPExcel/Writer/Excel5.php'; // 用于其他低版本xls require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式 // Create new PHPExcel object $objPHPExcel = new \PHPExcel(); // Set properties $objPHPExcel->getProperties()->setTitle($title); //set width $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(10); $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(30); $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(30); $objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(30); $objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('H')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('I')->setWidth(15); $objPHPExcel->getActiveSheet()->getColumnDimension('J')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('K')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('L')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('M')->setWidth(45); $objPHPExcel->getActiveSheet()->getColumnDimension('N')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('O')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('P')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('Q')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('R')->setWidth(20); $objPHPExcel->getActiveSheet()->getColumnDimension('S')->setWidth(20); $arr=['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']; //合并单元格 $objPHPExcel->getActiveSheet()->mergeCells('A1:Z1'); //设置表格头部栏目 set table header content $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A1', $title.' 时间:'.date('Y-m-d H:i:s')); foreach ($column as $k => $v) { $objPHPExcel->setActiveSheetIndex(0)->setCellValue($arr[$k].'2',$v); } // Miscellaneous glyphs, UTF-8 for($i=0;$i<count($OrdersData);$i++){ foreach ($OrdersData[$i] as $k => $va) { $objPHPExcel->getActiveSheet(0)->setCellValue($arr[$k].($i+3), $va); } } //表格底部栏目 $objPHPExcel->getActiveSheet()->mergeCells('A'.($i+3).':Z'.($i+3)); $objPHPExcel->getActiveSheet(0)->setCellValue('A'.($i+3), $footer); // sheet命名 $objPHPExcel->getActiveSheet()->setTitle($title); /* 生成到浏览器,提供下载 */ ob_end_clean(); //清空缓存 header('Content-Type: application/vnd.ms-excel'); header('Content-Disposition: attachment;filename="'.$title.'('.date('Ymd-His').').xls"'); //日期为文件名后缀 header('Cache-Control: max-age=0'); $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); //excel5为xls格式,excel2007为xlsx格式 $objWriter->save('php://output'); }}
(注意:
效果如图
合并单元格:
$objPHPExcel->getActiveSheet()->mergeCells(‘A1:F1’); //合并
$objPHPExcel->getActiveSheet()->unmergeCells(‘A1:F1’); // 拆分
加粗和居中
$objPHPExcel->getActiveSheet()->getStyle(‘A1’)->applyFromArray(
array(
‘font’ => array (
‘bold’ => true
),
‘alignment’ => array(
‘horizontal’ => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
)
)
);
加边框
$objPHPExcel->getActiveSheet()->getStyle(‘A2:F2’)->applyFromArray(
array(
‘borders’ => array(
‘top’ => array(
‘style’ => PHPExcel_Style_Border::BORDER_THIN
)
)
)
);
表格导出时单元格换行效果:数据中需带有换行符( \n )
$objPHPExcel->setActiveSheetIndex(0)->getStyle(‘A1’)->getAlignment()->setWrapText(true);
- php原生PHPExcel插件导表(附表格合并,加粗居中及加边框换行操作)
- java 操作excel,jxl加边框,jxl合并单元格,单元格的设置,单元格居中
- java 操作excel,jxl加边框,jxl合并单元格,单元格的设置,单元格居中
- java 操作excel,jxl加边框,jxl合并单元格,单元格的设置,单元格居中
- latex表格线的加粗及合并两行
- 11.3合并表格边框
- 合并表格边框(css)
- 表格合并边框
- hover加边框或边框加粗元素不抖动
- 表格边框合并和li边框合并
- poi 操作excel , 合并单元格后加边框
- phpexcel的居中显示,合并单元格
- poi生成excel整理(设置边框/字体/颜色/加粗/居中/)
- jxl导出excel(合并行、合并列、单元格居中、单元格固定宽度、字体加粗、分页签)
- String.xml(加粗,下划线,倾斜,换行)
- VC操作excel 内附合并单元格算法and为excel画边框算法
- phpexcel居中
- php通过PHPExcel导出Excel表格
- POP动画之让分享界面动起来
- hdu 3033-分组背包
- 怎样设计一个判断流程
- Select下拉框onchange事件获取option的value值
- Spring批量更新
- php原生PHPExcel插件导表(附表格合并,加粗居中及加边框换行操作)
- mysql 索引
- 51Nod-1589-移数博弈
- 通过sql语句limit标签生成java分页
- ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
- Java数据类型分类
- MFC计算器项目——进制转换模块
- 在MacOS下,设置环境变量
- 自定义fragment抽象父类