phpexcel居中


所有单元格居中:



$objPHPExcel->getDefaultStyle()->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
$objPHPExcel->getDefaultStyle()->getAlignment()->setVertical(PHPExcel_Style_Alignment::VERTICAL_CENTER);
单个单元格居中:
$objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);


//引入类
        header('Content-type: text/html; charset=utf-8');
        import('Org.Util.PHPExcel');
        import('Org.Util.PHPExcel.Writer.Excel5');
        import('Org.Util.PHPExcel.IOFactory.php');
       //首先在命名空间中使用use think\Loader; 类  然后下面是thinkphp5引入方式  (我的类文件是放在 extend目录下的)
      //  Loader::import('PHPExcel',EXTEND_PATH,'.class.php');
     //   Loader::import('PHPExcel.Writer.Excel5',EXTEND_PATH);
     //   Loader::import('PHPExcel.IOFactory.php',EXTEND_PATH);
//实例化对象
        $objPHPExcel = new \PHPExcel();
 //设置工作簿的名称
        $objPHPExcel->getActiveSheet()->setTitle('预算经费表');
 //合并单元格
        $objPHPExcel->getActiveSheet()->mergeCells('A1:H1');
//拆分单元格
     //$objPHPExcel->getActiveSheet()->unmergeCells('A1:H1');
//设置单元格字体
        $objPHPExcel->getActiveSheet()->getStyle('A2')->getFont()->setName('宋体') //字体
        ->setSize(12) //字体大小
        ->setBold(true); //字体加粗 

//设置行的高度
        $objPHPExcel->getActiveSheet()->getRowDimension('1')->setRowHeight(31.5);
        $objPHPExcel->getActiveSheet()->getRowDimension('2')->setRowHeight(31.5);
        $objPHPExcel->getActiveSheet()->getRowDimension('3')->setRowHeight(69.75);
//长度不够显示的时候 是否自动换行
        $objPHPExcel->getActiveSheet()->getStyle('B')->getAlignment()->setWrapText(true);
//设置打印 页面 方向与大小(此为横向)
        $objPHPExcel->getActiveSheet()->getPageSetup()->setOrientation(\PHPExcel_Worksheet_PageSetup::ORIENTATION_LANDSCAPE);
        $objPHPExcel->getActiveSheet()->getPageSetup()->setPaperSize(\PHPExcel_Worksheet_PageSetup::PAPERSIZE_A4);

//冻结标题
      //第一种方式
    //$objPHPExcel->getActiveSheet()->freezePane('A1');
    //$objPHPExcel->getActiveSheet()->freezePane('A2');
      //第二种方式
    $objPHPExcel->getActiveSheet()->freezePaneByColumnAndRow(8,4);//(列,行)冻结的行数比你设置的要多一行(例 我需要设置的 是 3行   那么  参数就要写  4)
//设置水平居中 
    $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);    
    $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//垂直居中
    $objPHPExcel->getActiveSheet()->getStyle('A1')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
    $objPHPExcel->getActiveSheet()->getStyle('B2')->getAlignment()->setVertical(\PHPExcel_Style_Alignment::VERTICAL_CENTER);
//左对齐
        $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_JUSTIFY);
//右对齐
    $objPHPExcel->getActiveSheet()->getStyle('A')->getAlignment()->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_RIGHT);
// 设置页面边距为0.5厘米 (1英寸 = 2.54厘米)
    $margin = 1.78 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
    $marginright = 1 / 2.54;   //phpexcel 中是按英寸来计算的,所以这里换算了一下
    //$pageMargins->setTop($margin);       //上边距
    //$pageMargins->setBottom($margin); //下
    $objPHPExcel->getActiveSheet()->getPageMargins()->setLeft($margin);      //左
    $objPHPExcel->getActiveSheet()->getPageMargins()->setRight(marginright);    //右
    //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToWidth('1');//自动填充到页面的宽度
    //$objPHPExcel->getActiveSheet()->getPageSetup()->setFitToHeight('1');//自动填充到页面的高度
//设置 标题索引    (点击 标题 跳转到对应的工作簿中)
       $objPHPExcel->getActiveSheet()->getCell('B4')->getHyperlink()->setUrl("sheet://'"计算机软件技术"'!A1");
//设置边框
    $objPHPExcel->getActiveSheet()->getStyle('A1:H8')->getBorders()->getAllBorders()->setBorderStyle(\PHPExcel_Style_Border::BORDER_THIN);

你可能感兴趣的:(php)