php 导出excel数据实例代码
在php中要导入excel表格我们最简单的就是输入csv文件,还有一种办法就是使用PHPExcel插件来实现,常用的都是使用PHPExcel插件了,它有强大的功能,下面我们来看个实例.
很多网站都有导出数据为excel的功能,最开始想用js导出但是网上的文章几乎都一样而且浏览器兼容性还有问题,总之不太好用,那只好用php导出了服务器端处理不存在浏览器兼容的问题.
首先是获取数据发送到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')->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');
-
-
-
-
-
-
-
-
-
-
-
- $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');