thinkphp5 phpexcel基本设置

这篇博客详细介绍了在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. //设置行的高度
  24.         $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(31.5);
  25.         $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(31.5);
  26.         $objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(69.75);
  27. //长度不够显示的时候 是否自动换行
  28.         $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setWrapText(true);
  29. //设置打印 页面 方向与大小(此为横向)
  30.         $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(\PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
  31.         $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(\PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);
  32.  
  33. //冻结标题
  34.       //第一种方式
  35.     //$objPHPExcel->getActiveSheet()->freezePane('A1');
  36.     //$objPHPExcel->getActiveSheet()->freezePane('A2');
  37.       //第二种方式
  38.     $objPHPExcel->getActiveSheet()->freezePaneByColumnAndRow(8,4);//(列,行)冻结的行数比你设置的要多一行(例 我需要设置的 是 3行   那么  参数就要写  4)
  39. //设置水平居中 
  40.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);    
  41.     $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  42. //垂直居中
  43.     $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
  44.     $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
  45. //左对齐
  46.         $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
  47. //右对齐
  48.     $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
  49. // 设置页面边距为0.5厘米 (1英寸 = 2.54厘米)
  50.     $margin = 1.78 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
  51.     $marginright = 1 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
  52.     //$pageMargins->setTop($margin);       //上边距
  53.     //$pageMargins->setBottom($margin); //下
  54.     $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($margin);      //左
  55.     $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(marginright);    //右
  56.     //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth('1');//自动填充到页面的宽度
  57.     //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight('1');//自动填充到页面的高度
  58. //设置 标题索引    (点击 标题 跳转到对应的工作簿中)
  59.        $objPHPExcel->getActiveSheet()->getCell('B4')->getHyperlink()->setUrl("sheet://'"计算机软件技术"'!A1");
  60. //设置边框
  61.     $objPHPExcel->getActiveSheet()->getStyle('A1:H8')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值