thinkphp5ファイルをエクセル独自のデータのエクスポートを組み立てます

エクスポート機能:

  / * 
     *共通データのエクスポート機能を実装
     * @param $ expTitleエクスポートファイル名
     * @param $ expCellNameエクスポートファイルの列名
     * @param $ expTableDataエクスポートデータ
     * / 
    関数export_excel($ expTitle、$ expCellName、$ expTableData){ 
        $ xlsTitle = iconv( 'UTF-8'、 '2312'、$ expTitle); // ファイル名
        $ファイル名= $ expTitle; //または $ xlsTitleのファイル名は、独自に応じて設定することができる
        $ cellNum = COUNT(expCellName $); 
        $ dataNum = COUNT($ expTableData); 
        $ objPHPExcel新しい新PHPExcel =(); //メソッド
        $セル名=配列( 'A' 、 'B'、 'C'、 'D'、 'E'、 'F'、 'G'、 'H'、 'I'は、 'J'、 'K'、 ' L '' M '' N '' O '' P '' Q 'R' '' S '' T '' U '' V '' W '' X ' 、 'Y'、 'Z' 、 'AA'、 'AB'、 'AC'、 'AD'、 'AE'、 'AF'、 'AG'、 'AH'、 'AI'、 'AJ'、 ' AK '' AL '' AM '' AN '' AO '' AP '' AS AQ '' AR '' '' '' AU '' AV '' AW AT " 、 'AX'、 'AY'、 'AZ'); 
        //ヘッドが誘導設定備考
        $ objPHPExcel-> GetActiveSheet関数(0) - > mergeCells( 'A1:' $セル名[$のcellNum - 1]」..1 '); //マージ細胞
        $ objPHPExcel-> setActiveSheetIndex(0) - > setCellValue(' A1 派生時間'$ expTitle。 ':' DATE('はYmd H:I:S「)); 
            //セット列名
        のための($ I = 0; $ I <$ cellNum; $ I ++){ 
            $ objPHPExcel-> setActiveSheetIndex(0) - > setCellValue($セル名[$ I] '2'、$ expCellName [$ I] [1。 ]); 
        } 
        //割り当て} //割り当て} //割り当て 
        $ I <$ dataNum;($ I = 0のための$ I ++){ 
            のために($ J = 0; $ J <$ cellNum; $ J ++){ 
                IF(ISSET($ expTableData [$ I] [$ expCellName [$ J] [0])){ 
                    $ objPHPExcel-> GetActiveSheet関数(0) - > setCellValue(
                        。$セル名[$ J](私は$を+ 3)、$ expTableData [$ I] [$ expCellName [$ J] [0]] 
                    ); 
                }他{ 
                    $ objPHPExcel-> GetActiveSheet関数(0) - > setCellValue( 
                        '' $セル名[$ J](私は$を+ 3)
                    ); 
                } 
            } 
        } 
        ob_end_clean(); //このステップは非常に重要です、歪み由来エクセル防止するバッファクリアする
        (「プラグマ:パブリック」)ヘッダを 、
        ヘッダ( 'コンテンツタイプ:ファイルアプリケーション/ vnd.ms-エクセル;のcharset = UTF-8;名= "' $ xlsTitle '* .XLS .."'); 
        ヘッダ( "コンテンツディスポジション:添付ファイル;ファイル名= $ fileNameに。 XLS "); //" XLS "でノートを参照してください
        $ objWriter = \ PHPExcel_IOFactory :: createWriter(
            $ objPHPExcel、 'エクセル5' 
        ); //" XLSののExcel2007 "のxlsxの世代2007年版、" Excel5「世代2003バージョン
        $ objWriter->保存( 'PHP://出力'); 
    }

  自分のデータとなるように組み立て、関数、:

//ダウンロードファイル名
の$ expTitle = 'テスト'; 
//フィールド名タイトルに対応する
$ expCellName = [ 
	[ '名前'、 '名前']、
	[ '年齢'、 '年齢']、
	[ 'セックス'、 '性別' ] 
]; 
//データを組み立てる
$ expTableData = [ 
	=> [ '名称' 'を1' 、 '年齢'=> 18 'セックス'=> 'M'、である]、
	=> [ '名称' '2'、'年齢'=> 18、'性別' =>' M ']、
	['名前'=>' 3 ''年齢'=> 18、'性別' =>' M ']、
	[' '=>'名前。4 ''年齢'=> 18 、'セックス'=>' M「] 
]; 
//エクスポートされた関数の呼び出し
export_excelを($ expTitle、$ expCellName、 $ expTableData)

おすすめ

転載: www.cnblogs.com/myIvan/p/11352481.html
おすすめ