php版导出excel

来源:互联网 发布:淘宝怎么设置促销价格 编辑:程序博客网 时间:2024/06/01 09:15

 很多网站都有导出数据为excel的功能,最开始想用js导出但是网上的文章几乎都一样而且浏览器兼容性还有问题,总之不太好用,那只好用php导出了服务器端处理不存在浏览器兼容的问题。

    上图是项目中要要导出的数据,前两行是thead,后面是tbody(里面的tr数量不定)。首先是获取数据发送到php端处理。

require_once '../Classes/PHPExcel.php';require_once '../Classes/PHPExcel/IOFactory.php';$objPHPExcel = new PHPExcel();$objPHPExcel->getProperties()->setCreator("Maarten Balliauw")->setLastModifiedBy("Maarten Balliauw")->setTitle("Office 2007 XLSX Test Document")->setSubject("Office 2007 XLSX Test Document")->setDescription("Document for Office 2007 XLSX, generated using PHP classes.")->setKeywords("office 2007 openxml php")->setCategory("Test result file");$objPHPExcel->setActiveSheetIndex(0);$objRichText = new PHPExcel_RichText();$objRichText->createText('');$objPayable = $objRichText->createTextRun('即时监测数据');$objPayable->getFont()->setColor( new PHPExcel_Style_Color( PHPExcel_Style_Color::COLOR_RED ));$objPayable->getFont()->setBold(true);$objPayable->getFont()->setSize(24);$objPHPExcel->getActiveSheet()->getCell('B1')->setValue($objRichText);$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setBold(true);// 加粗$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->setSize(24);// 字体大小$objPHPExcel->getActiveSheet()->getStyle('B1')->getFont()->getColor()->setARGB(PHPExcel_Style_Color::COLOR_RED);// 文本颜色$objPHPExcel->getActiveSheet()->getStyle('A1:G1')->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);$objPHPExcel->getActiveSheet()->getStyle('A1:G1')->getFill()->getStartColor()->setARGB('00FFFFE3');//底纹// 列宽//$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setAutoSize(true);$objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(12);$objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(18);$objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(12);$objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(18);$objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(12);$objPHPExcel->getActiveSheet()->getColumnDimension('F')->setWidth(18);$objPHPExcel->getActiveSheet()->getColumnDimension('G')->setWidth(20);// 行高for($i = 2; $i <= 17; $i++) {$objPHPExcel->getActiveSheet()->getRowDimension($i)->setRowHeight(22);}$objPHPExcel->getActiveSheet()->setCellValue('A2', '姓名');$objPHPExcel->getActiveSheet()->setCellValue('A3', 'PHP');$objPHPExcel->getActiveSheet()->setCellValue('A4', 'EXCEL');$objPHPExcel->getActiveSheet()->setCellValue('A5', '');$objPHPExcel->getActiveSheet()->setCellValue('A6', 'XXX');$objPHPExcel->getActiveSheet()->setCellValue('A7', 'V');$objPHPExcel->getActiveSheet()->setCellValue('A8', 'd');$objPHPExcel->getActiveSheet()->setCellValue('A9', 'name');$objPHPExcel->getActiveSheet()->setCellValue('A10', '描述');for($i = 2; $i <= 16; $i++) {$objPHPExcel->getActiveSheet()->getStyle('A' . $i)->getFont()->setBold(true);// 加粗}$objPHPExcel->getActiveSheet()->setCellValue('B2', '[姓名]');$objPHPExcel->getActiveSheet()->setCellValue('B3', '导出带图片的EXCEL');$objPHPExcel->getActiveSheet()->setCellValue('B4', 'XXXXX');// 为excel加图片//$objDrawing = new PHPExcel_Worksheet_Drawing();//$objDrawing->setName('Photo');//$objDrawing->setDescription('Photo');//$objDrawing->setPath('../images/touxiang.jpg');//$objDrawing->setHeight(170);//$objDrawing->setWidth(120);//$objDrawing->setCoordinates('G2');//$objDrawing->setWorksheet($objPHPExcel->getActiveSheet());$objPHPExcel->getActiveSheet()->setCellValue('A17', '其它要求');$objPHPExcel->getActiveSheet()->setCellValue('B17', '[其它要求]');$objPHPExcel->getActiveSheet()->getStyle('A17')->getFont()->setBold(true);// 加粗$objPHPExcel->setActiveSheetIndex(0);$objPHPExcel->getActiveSheet()->setTitle('即时监测数据');$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');$objWriter->save('PHPExcel.xls');

     PHPEXCEL下载地址

    文章出处:http://www.aitiblog.com/php/172.html

原创粉丝点击