PHPExcel常用方法汇总

互联网/新科技 beaji 2019-05-05 13:34 577 0
  1. <?  

  2. //设置PHPExcel类库的include path  

  3. set_include_path('.'. PATH_SEPARATOR .  

  4.                  'D:\Zeal\PHP_LIBS' . PATH_SEPARATOR .  

  5.                  get_include_path());  

  6.   

  7. /** 

  8.  * 以下是使用示例,对于以 //// 开头的行是不同的可选方式,请根据实际需要 

  9.  * 打开对应行的注释。 

  10.  * 如果使用 Excel5 ,输出的内容应该是GBK编码。 

  11.  */  

  12. require_once 'PHPExcel.php';  

  13.   

  14. // uncomment  

  15. ////require_once 'PHPExcel/Writer/Excel5.php';    // 用于其他低版本xls  

  16. // or  

  17. ////require_once 'PHPExcel/Writer/Excel2007.php'; // 用于 excel-2007 格式  

  18.   

  19. // 创建一个处理对象实例  

  20. $objExcel = new PHPExcel();  

  21.   

  22. // 创建文件格式写入对象实例, uncomment  

  23. ////$objWriter = new PHPExcel_Writer_Excel5($objExcel);    // 用于其他版本格式  

  24. // or  

  25. ////$objWriter = new PHPExcel_Writer_Excel2007($objExcel); // 用于 2007 格式  

  26. //$objWriter->setOffice2003Compatibility(true);  

  27.   

  28. //*************************************  

  29. //设置文档基本属性  

  30. $objProps = $objExcel->getProperties();  

  31. $objProps->setCreator("Zeal Li");  

  32. $objProps->setLastModifiedBy("Zeal Li");  

  33. $objProps->setTitle("Office XLS Test Document");  

  34. $objProps->setSubject("Office XLS Test Document, Demo");  

  35. $objProps->setDescription("Test document, generated by PHPExcel.");  

  36. $objProps->setKeywords("office excel PHPExcel");  

  37. $objProps->setCategory("Test");  

  38.   

  39. //*************************************  

  40. //设置当前的sheet索引,用于后续的内容操作。  

  41. //一般只有在使用多个sheet的时候才需要显示调用。  

  42. //缺省情况下,PHPExcel会自动创建第一个sheet被设置SheetIndex=0  

  43. $objExcel->setActiveSheetIndex(0);  

  44.   

  45.   

  46. $objActSheet = $objExcel->getActiveSheet();  

  47.   

  48. //设置当前活动sheet的名称  

  49. $objActSheet->setTitle('测试Sheet');  

  50.   

  51. //*************************************  

  52. //设置单元格内容  

  53. //  

  54. //由PHPExcel根据传入内容自动判断单元格内容类型  

  55. $objActSheet->setCellValue('A1''字符串内容');  // 字符串内容  

  56. $objActSheet->setCellValue('A2', 26);            // 数值  

  57. $objActSheet->setCellValue('A3', true);          // 布尔值  

  58. $objActSheet->setCellValue('A4''=SUM(A2:A2)'); // 公式  

  59.   

  60. //显式指定内容类型  

  61. $objActSheet->setCellValueExplicit('A5''847475847857487584',   

  62.                                    PHPExcel_Cell_DataType::TYPE_STRING);  

  63.   

  64. //合并单元格  

  65. $objActSheet->mergeCells('B1:C22');  

  66.   

  67. //分离单元格  

  68. $objActSheet->unmergeCells('B1:C22');  

  69.   

  70. //*************************************  

  71. //设置单元格样式  

  72. //  

  73.   

  74. //设置宽度  

  75. $objActSheet->getColumnDimension('B')->setAutoSize(true);  

  76. $objActSheet->getColumnDimension('A')->setWidth(30);  

  77.   

  78. $objStyleA5 = $objActSheet->getStyle('A5');  

  79.   

  80. //设置单元格内容的数字格式。  

  81. //  

  82. //如果使用了 PHPExcel_Writer_Excel5 来生成内容的话,  

  83. //这里需要注意,在 PHPExcel_Style_NumberFormat 类的 const 变量定义的  

  84. //各种自定义格式化方式中,其它类型都可以正常使用,但当setFormatCode  

  85. //为 FORMAT_NUMBER 的时候,实际出来的效果被没有把格式设置为"0"。需要  

  86. //修改 PHPExcel_Writer_Excel5_Format 类源代码中的 getXf($style) 方法,  

  87. //在 if ($this->_BIFF_version == 0x0500) { (第363行附近)前面增加一  

  88. //行代码:   

  89. //if($ifmt === '0') $ifmt = 1;  

  90. //  

  91. //设置格式为PHPExcel_Style_NumberFormat::FORMAT_NUMBER,避免某些大数字  

  92. //被使用科学记数方式显示,配合下面的 setAutoSize 方法可以让每一行的内容  

  93. //都按原始内容全部显示出来。  

  94. $objStyleA5  

  95.     ->getNumberFormat()  

  96.     ->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);  

  97.   

  98. //设置字体  

  99. $objFontA5 = $objStyleA5->getFont();  

  100. $objFontA5->setName('Courier New');  

  101. $objFontA5->setSize(10);  

  102. $objFontA5->setBold(true);  

  103. $objFontA5->setUnderline(PHPExcel_Style_Font::UNDERLINE_SINGLE);  

  104. $objFontA5->getColor()->setARGB('FF999999');  

  105.   

  106. //设置对齐方式  

  107. $objAlignA5 = $objStyleA5->getAlignment();  

  108. $objAlignA5->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);  

  109. $objAlignA5->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);  

  110.   

  111. //设置边框  

  112. $objBorderA5 = $objStyleA5->getBorders();  

  113. $objBorderA5->getTop()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);  

  114. $objBorderA5->getTop()->getColor()->setARGB('FFFF0000'); // color  

  115. $objBorderA5->getBottom()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);  

  116. $objBorderA5->getLeft()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);  

  117. $objBorderA5->getRight()->setBorderStyle(PHPExcel_Style_Border::BORDER_THIN);  

  118.   

  119. //设置填充颜色  

  120. $objFillA5 = $objStyleA5->getFill();  

  121. $objFillA5->setFillType(PHPExcel_Style_Fill::FILL_SOLID);  

  122. $objFillA5->getStartColor()->setARGB('FFEEEEEE');  

  123.   

  124. //从指定的单元格复制样式信息.  

  125. $objActSheet->duplicateStyle($objStyleA5'B1:C22');  

  126.   

  127.   

  128. //*************************************  

  129. //添加图片  

  130. $objDrawing = new PHPExcel_Worksheet_Drawing();  

  131. $objDrawing->setName('ZealImg');  

  132. $objDrawing->setDescription('Image inserted by Zeal');  

  133. $objDrawing->setPath('./zeali.net.logo.gif');  

  134. $objDrawing->setHeight(36);  

  135. $objDrawing->setCoordinates('C23');  

  136. $objDrawing->setOffsetX(10);  

  137. $objDrawing->setRotation(15);  

  138. $objDrawing->getShadow()->setVisible(true);  

  139. $objDrawing->getShadow()->setDirection(36);  

  140. $objDrawing->setWorksheet($objActSheet);  

  141.   

  142.   

  143. //添加一个新的worksheet  

  144. $objExcel->createSheet();  

  145. $objExcel->getSheet(1)->setTitle('测试2');  

  146.   

  147. //保护单元格  

  148. $objExcel->getSheet(1)->getProtection()->setSheet(true);  

  149. $objExcel->getSheet(1)->protectCells('A1:C22''PHPExcel');  

  150.   

  151.   

  152. //*************************************  

  153. //输出内容  

  154. //  

  155. $outputFileName = "output.xls";  

  156. //到文件  

  157. ////$objWriter->save($outputFileName);  

  158. //or  

  159. //到浏览器  

  160. ////header("Content-Type: application/force-download");  

  161. ////header("Content-Type: application/octet-stream");  

  162. ////header("Content-Type: application/download");  

  163. ////header('Content-Disposition:inline;filename="'.$outputFileName.'"');  

  164. ////header("Content-Transfer-Encoding: binary");  

  165. ////header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");  

  166. ////header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT");  

  167. ////header("Cache-Control: must-revalidate, post-check=0, pre-check=0");  

  168. ////header("Pragma: no-cache");  

  169. ////$objWriter->save('php://output');  

  170.   

  171. ?>  




五大“核芯”产品,一大“技术输出”: 【智慧集团管控平台】: 关键词:【集团专属系统平台】,【实时对比】各区域工厂【同一时间段的生产数据】。 【智能工厂管家】:(MES) 关键词:【现场监控可视化、业务流程规范化、生产管理精细化、能源利用合理化、资源配置最优化、调度决策科学化】。 【智能调度器】:(APC) 关键词:【智能控制】,【关键参数实时优化推荐】,【长期稳定运行】 【孪生工厂】: 关键词:【工厂实体建模】,【设备预警】,【关键参数】、【实时展示大屏】 【超低排放助手】: 关键词:【超低排放】,同时降低【20%】以上的还原剂使用量。 【一大技术输出】  技术成品输出:  关键词:提供【成品软件】,或【专项定制研发软件】。  技术能力输出:  关键词:【专业技术团队】、【驻扎项目】

评论区