PHPEXCEL xls模板導入,及格式自定義:合並單元格、加粗、居中等操作


PHPExcel 是用來操作Office Excel 文檔的一個PHP類庫,它基於微軟的OpenXML標准和PHP語言。可以使用它來讀取、寫入不同格式的電子表格,如 Excel (BIFF) .xls, Excel 2007 (OfficeOpenXML) .xlsx, CSV, Libre/OpenOffice Calc .ods, Gnumeric, PDF, HTML等等。

 

$excel->getActiveSheet()->mergeCells('A1:F1');      //合並單元格
$excel->getActiveSheet()->setCellValue("A1","我是標題");

單元格居中、並加粗:

        $excel->getActiveSheet()->getStyle('A1')->applyFromArray(
            array(
                'font' => array (
                    'bold' => true
                ),
                'alignment' => array(
                    'horizontal' => PHPExcel_Style_Alignment::HORIZONTAL_CENTER
                )
            )
        );

 

 

 

參考:

http://www.sdhack.com/20121163.html   先請模板,再寫入(實用)

<?php
 include('PHPExcel.php');
 //這些數據假設是從M('xxx')->select()里面出來的
 $data = array (
 array ('id' => 1, 'name' => '張三' ), array ('id' => 2, 'name' => '李四' ), array ('id' => 3, 'name' => '王五' ) );
 //PHPExcel支持讀模版 所以我還是比較喜歡先做好一個Excel的模版 比較好,不然要寫很多代碼 模版我放在根目錄了
 //創建一個讀Excel模版的對象
 $objReader = PHPExcel_IOFactory::createReader ( 'Excel5' );
 $objPHPExcel = $objReader->load ("template.xls" );
 //獲取當前活動的表
 $objActSheet = $objPHPExcel->getActiveSheet ();
 $objActSheet->setTitle ( '演示工作表' );
 $objActSheet->setCellValue ( 'A1', '這個是PHPExcel演示標題' );
 $objActSheet->setCellValue ( 'A2', '日期:' . date ( 'Y年m月d日', time () ));
 $objActSheet->setCellValue ( 'F2', '導出時間:' . date ( 'H:i:s' ) );
 //我現在就開始輸出列頭了
 $objActSheet->setCellValue ( 'A3', '序號' );
 $objActSheet->setCellValue ( 'B3', '姓名' );
 //具體有多少列 看你的數據走 會涉及到計算
 //現在就開始填充數據了 (從數據庫中) $data
 $baseRow = 4; //數據從N-1行開始往下輸出 這里是避免頭信息被覆蓋
 foreach ( $data as $r => $dataRow ) {
 $row = $baseRow + $r;
 //將數據填充到相對應的位置
 $objPHPExcel->getActiveSheet ()->setCellValue ( 'A' . $row, $dataRow ['id'] ); //學員編號
 $objPHPExcel->getActiveSheet ()->setCellValue ( 'B' . $row, $dataRow ['name'] ); //真實姓名
 }
 //導出
 $filename = time ();
 header ( 'Content-Type: application/vnd.ms-excel' );
 header ( 'Content-Disposition: attachment;filename="' . $filename . '.xls"' ); //"'.$filename.'.xls"
 header ( 'Cache-Control: max-age=0' );
 $objWriter = PHPExcel_IOFactory::createWriter ( $objPHPExcel, 'Excel5' ); //在內存中准備一個excel2003文件
ob_end_clean();//清除緩沖區,避免亂碼
$objWriter->save ( 'php://output' ); ?>

 上面先定好.xls模板,再放入數據的例子,很實用

http://blog.sina.com.cn/s/blog_632d132c0102vyw0.html  用代碼寫模板


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM