1. 程式人生 > >PHPExcel常用屬性使用

PHPExcel常用屬性使用

ica 寬度 樣式 rgb 4.4 方法 fill 操作 type

PHPExcel常用屬性使用

前景:

  需先實例化幾個變量:

      $this->objExcel = new PHPExcel();  //實例化一個PHPExcel變量

       $this->objExcel->setActiveSheetIndex(0);  //設置要操作的Sheet頁

       $this->objActSheet = $this->objExcel->getActiveSheet();  //獲取當前要操作的Sheet頁

       $objStyle = $this->objActSheet->getStyle(‘A1‘);  //獲取要設置單元格的樣式,括號裏的內容也可是:(‘A1:E1‘)

       $objAlign = $objStyle->getAlignment();  //用來設置對齊屬性和單元格內文本換行的一個變量

      $objFont = $objStyle->getFont();  //獲得字體屬性

 常用屬性:

  1、設置Sheet名稱:

      //設置當前活動sheet的名稱
      $this->objActSheet->setTitle($title);

   2、設置對齊和單元格內換行

    2.1、水平對齊

      //設置單元格內容水平對齊

      $objAlign->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_LEFT);

      說明:

        水平對齊的變量有:PHPExcel_Style_Alignment::HORIZONTAL_LEFT、PHPExcel_Style_Alignment::HORIZONTAL_CENTER、PHPExcel_Style_Alignment::HORIZONTAL_RIGHT;

        具體含義分別為:左對齊、居中對齊、右對齊。

     2.2、豎直對齊

     $objAlign->setVertical(PHPExcel_Style_Alignment::VERTICAL_TOP);

      說明:

       豎直對齊的變量有:PHPExcel_Style_Alignment::VERTICAL_TOP、PHPExcel_Style_Alignment::VERTICAL_CENTER、PHPExcel_Style_Alignment::VERTICAL_BOTTOM

         具體含義分別為:頂部對齊、豎直居中對齊、底部對齊

     2.3、單元格內換行

      $objAlign->setWrapText(true);

      說明:

        1、此舉是為了實現單元格內可以手動指定換行的位置。只要指定的文本本身是換行的,或者插入換行符(‘\n‘)。

        2、要換行的文字,外面必須是雙引號

      例如:

        文本設置為:$arr[‘header‘] = "哈哈\nHelloWorld";

        顯示的效果為:

              哈哈
              HelloWorld

  3、設置字體、顏色等

   3.1、設置字體

      $objFont->setName(‘微軟雅黑‘ );  //設置要使用的字體

    3.2、設置字號

       $objFont->setSize( 11 );

   3.3、設置加粗

      $objFont->setBold( false );

    3.4、設置字顏色

      $objFont->getColor()->setARGB(PHPExcel_Style_Color::COLOR_WHITE);  

     說明:

       1、其顏色組成為:Alpha(透明度)通道+RGB色彩模式

       2、ARGB---Alpha,Red,Green,Blu

       3、一般我自己用的值都是"FF"+RGB的顏色值,如:"FFCC15DD"

  4、單元格設置:

   4.1、設置背景色  

      $objStyle->getFill()->setFillType(PHPExcel_Style_Fill::FILL_SOLID);
       $objStyle->getFill()->getStartColor()->setARGB(‘FF595959‘);

   4.2、設置寬度

      $this->objActSheet->getColumnDimension($widthStr)->setWidth(‘27.45‘);

   4.3、設置高度

      $this->objActSheet->getRowDimension($heightStr)->setRowHeight(‘27.45‘);

   4.4、單元格合並

      $this->objActSheet->mergeCells(‘A1:I1‘);

       裏面指定要合並的單元格範圍

  5、其他設置:

   5.1、設置自動篩選

      $this->objActSheet->setAutoFilter("A2:B2");

       說明:

         當前筆者比較愚笨,還不能做到隨意指定設置自動篩選的方法。

   5.2、單元格格式設置防止科學計數法     

       //設置單元格格式(防止科學技術法)
       $numberFormat = $objStyle->getNumberFormat();
       $numberFormat->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_NUMBER);

       說明:         

         讀取的時候一定要用:getFormattedValue(),這樣可以一定程度上減少讀出科學計數法的數。雖然php有方法轉換科學計數法,但是會遭遇精度丟失的情況。

         筆者現在最頭疼的一個問題就是科學計數法,現在還未有非常好的解決方案,現在能解決的方法都不徹底。筆者會繼續探索! 

PHPExcel常用屬性使用