PHP Excelのインポート

パブリック 関数ImportFile()
    { 
        $ファイル =リクエスト() - > ファイル( 'ファイル' );
         $のparams = $この - >要求- >のparam(); パラメータを取得することができます// 
        IF(!$ファイル){
             $この - >エラー( 'インポートファイル」を選択してください); 
        } 
        // パスファイル保存
        $情報 = $ファイル - >移動(のroot_path'公共'DS'アップロード... ); 
     //ファイルのパスを取得します
$ filePathに =のroot_pathを.. '国民DS 'アップロード' DS ... $情報 - > getSaveName();
     //ファイルを見つける
のIF(!is_file$ filePathに)){ $この - >エラー( '无相关记录' ); }

     // ===========开始
$ PHPReader = 新しい\ PHPExcel_Reader_Excel2007(); もし(!$ PHPReader - > canRead($ filePathに)){ $ PHPReader = 新しい\ PHPExcel_Reader_Excel5(); もし(!$ PHPReader - > canRead($ filePathに)){ $ PHPReader = 新しい\ PHPExcel_Reader_CSV(); もし(!$ PHPReader- > canRead($ filePathに)){ $この - >エラー( '未知のフォーマット' ); } } } $ PHPExcel = $ PHPReader - >負荷($ filePathに); // ロードファイル $ currentSheet = $ PHPExcel - > getSheet( 0); // 最初のワークシートにファイルを読み込む $ allColumn = $ currentSheet - > getHighestDataColumn(); // 最大列数を取得 $ ALLROW = $ currentSheet - > getHighestRow(); // の合計数を取得しますライン $ maxColumnNumber = \ PHPExcel_Cell :: columnIndexFromString(allColumn $); // 取得した列の数 //カラムヘッダとして最初の行にExcelにアップロードされ得る ため$ currentRowの = 1; $ currentRowの <= 1; ++ $ currentRowの){ ため$もcurrentColumn = 0 ; また、$ currentColumn < $ maxColumnNumber ; ++ $もcurrentColumn ){ $ヴァル = $ currentSheet - > getCellByColumnAndRow($もcurrentColumn$ currentRowの) - > のgetValue(); $フィールド [] = $ヴァル; } }
     //合計データを保存
$のINSERT = []; // 行のサイクル数:currentRowのデータが第二の行から開始される ため $ currentRowの = 2; $ currentRowの <= $ ALLROW ; ++ $ currentRowの){ $値 = []; // //行あたりのサイクル のためにまた、$ currentColumn = 0; $もcurrentColumn < $ maxColumnNumber ; ++ $もcurrentColumn ){ $ヴァル = $ currentSheet - > getCellByColumnAndRow( $もcurrentColumn $ currentRowの) - >getValue(); $値は [] = IS_NULL$ valの)?'':$ valの; } $行 = []; // 合并 $の一時 = array_combine$フィールド$値);          foreachの$の一時 として $ K => $ V {) の場合$ kを == ''!{) $ K = トリム$ K )。 // 获得キー COL $ =自己:: excel2dbColhandler($ K ); // Excelが対応するデータベースフィールドを返す列ヘッダ名を渡す IF$ COL ){ $行 [ $ COL = TRIM$のV ); } } } IF$行){ $行 [ 'CREATE_TIME'] = DATE( 'はYmd H:私は:S' ); $ INSERT [] = $行は } } // モデルを追加したい取得 $ nowModelを =この$ - > getNowModel($ paramsは [ 'TBNAME' ]); $ nowModel - > SAVEALL($のINSERT ); 解除$情報); // 変数放出を開始 するunlink$ filePathにする); // ファイルを削除します }

 

おすすめ

転載: www.cnblogs.com/xinchenhui/p/11460086.html