• 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);
  • 相关阅读:
    [Matlab]二维统计分析图实例
    [Matlab]求解线性方程组
    [图论笔记]基本概念
    [线代笔记]第一章 线性方程组解法
    [Graphviz]一些简单的例子(未完待续)
    [杂记]如何在LaTeX里插入高亮代码
    [c语言]运算符的优先级与结合性
    [算法]连续子数组最大和
    dp超时的另外一种优化,找规律(四塔问题)
    饥饿的牛 线性dp内的区间
  • 原文地址:https://www.cnblogs.com/raswin/p/9041396.html
Copyright © 2020-2023  润新知