thinkphp5 phpexcel基本设置

  1. //引入类
  2.         header('Content-type: text/html; charset=utf-8');
  3.         import('Org.Util.PHPExcel');
  4.         import('Org.Util.PHPExcel.Writer.Excel5');
  5.         import('Org.Util.PHPExcel.IOFactory.php');
  6.        //首先在命名空间中使用use think\Loader; 类  然后下面是thinkphp5引入方式  (我的类文件是放在 extend目录下的)
  7.       //  Loader::import('PHPExcel',EXTEND_PATH,'.class.php');
  8.      //   Loader::import('PHPExcel.Writer.Excel5',EXTEND_PATH);
  9.      //   Loader::import('PHPExcel.IOFactory.php',EXTEND_PATH);
  10. //实例化对象
  11.         $objPHPExcel = new \PHPExcel();
  12.  //设置工作簿的名称
  13.         $objPHPExcel->getActiveSheet()->setTitle('测试表');
  14.  //合并单元格
  15.         $objPHPExcel->getActiveSheet()->mergeCells('A1:H1');
  16. //拆分单元格
  17.      //$objPHPExcel->getActiveSheet()->unmergeCells('A1:H1');
  18. //设置单元格字体
  19.         $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setName('宋体') //字体
  20.         ->setSize(12) //字体大小
  21.         ->setBold(true); //字体加粗 
  22. //设置行的高度
  23.         $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(31.5);
  24.         $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(31.5);
  25.         $objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(69.75);
  26. //长度不够显示的时候 是否自动换行
  27.         $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setWrapText(true);
  28. //设置打印 页面 方向与大小(此为横向)
  29.         $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(\PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
  30.         $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(\PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
  31. //冻结标题
  32.       //第一种方式
  33.     //$objPHPExcel->getActiveSheet()->freezePane('A1');
  34.     //$objPHPExcel->getActiveSheet()->freezePane('A2');
  35.       //第二种方式
  36.     $objPHPExcel->getActiveSheet()->freezePaneByColumnAndRow(8,4);//(列,行)冻结的行数比你设置的要多一行(例 我需要设置的 是 3行   那么  参数就要写  4)
  37. //设置水平居中 
  38.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);    
  39.     $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  40. //垂直居中
  41.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
  42.     $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
  43. //左对齐
  44.         $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
  45. //右对齐
  46.     $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  47. // 设置页面边距为0.5厘米 (1英寸 = 2.54厘米)
  48.     $margin = 1.78 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
  49.     $marginright = 1 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
  50.     //$pageMargins->setTop($margin);       //上边距
  51.     //$pageMargins->setBottom($margin); //下
  52.     $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($margin);      //左
  53.     $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(marginright);    //右
  54.     //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth('1');//自动填充到页面的宽度
  55.     //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight('1');//自动填充到页面的高度
  56. //设置 标题索引    (点击 标题 跳转到对应的工作簿中)
  57.        $objPHPExcel->getActiveSheet()->getCell('B4')->getHyperlink()->setUrl("sheet://'"计算机软件技术"'!A1");
  58. //设置边框
  59.     $objPHPExcel->getActiveSheet()->getStyle('A1:H8')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
原文地址:https://www.cnblogs.com/raswin/p/9041396.html