PhpSpreadsheetの簡単な使用

 

PHPExcelはもはや維持するので、PhpSpreadsheetはPHPExcelの次のバージョンです。PhpSpreadsheetは純粋なPHPで書かれたライブラリー、および名前空間、PSRの規範の導入です。PhpSpreadsheet下のインポートおよびエクスポート機能のここで簡単に紹介。

1、インストール

  • 作曲のインストールを使用します。
作曲必要 phpoffice / phpspreadsheet
  • GitHubのダウンロード:

   https://github.com/PHPOffice/PhpSpreadsheet

 

2、ファイルのエクスポートをエクセル

/ * * 
 * Excelは、エクスポートファイル
 * / 
関数エクスポート()
{ 
    するrequire_once __ DIR__ '/vendor/autoload.phpを' ; 
 
    $データ = [ 
        [ 'TITLE1' => '111'、 'TITLE2' => '222']、 'TITLE1' => '111'、 'TITLE2' => '222']、
        [ 'TITLE1' => '111'、 'TITLE2' => '222' ] 
    ]; 
    $タイトル = [「最初の行ヘッダー''第2の行ヘッダ' ]; 
 
    // 新しい新しいスプレッドシートオブジェクトを作成
    $スプレッドシートを = 新しい新しい\ PhpOffice \ PhpSpreadsheetスプレッド\()。
    $シート = $スプレッドシート - >GetActiveSheet関数(); 
 
    // メソッド使用してsetCellValueByColumnAndRow 
    //ヘッダー
    //セルの内容
    のforeach$タイトル AS  $キー => $値){
         // セルの内容書かれた
        $シート - > setCellValueByColumnAndRow($キー + 1 ,. 1、$値); 
    } 
    $行 = 2; // 第二行から
    のforeach$データ AS  $アイテム){
         $列 = 1 ;
         foreachの$アイテム AS  $値){
             //セルの内容書き込ま
            $シート - > setCellValueByColumnAndRow($カラム$行$値);
             $列 ++ ; 
        } 
        $行 ++ ; 
    } 
 
    // 第二の方法、setCellValue使用
    //ヘッダ
    //セルの内容
    titCol $ = 'A' ;
     foreachの$タイトル AS  $キー => $値){
         // セルの内容書かれた
        $シート - > setCellValue($のtitCol ,.」1' 。$値);
         $ titCol ++ ;
    } 
    $行 = 2; // から二行目
    のforeach$データ AS  $アイテム){
         $ DataCol = 'A' ;
         foreachの$アイテム AS  $値){
             // 書き込まれたセルの内容
            $シート - > setCellValue ($ DataCol$行$値);
             $ DataCol ++は; 
        } 
        $行 ++ ; 
    } 
 
    // APOSウェブブラウザクライアント(XLSX)出力にリダイレクト
    ヘッダ( 'Content-Typeの:アプリケーション/ vnd.openxmlformats-officedocument.spreadsheetml.sheet' );
    ヘッダ(「コンテンツの廃棄:添付ファイル、ファイル名= 『01simple.xlsx』」)。
    ヘッダ( 'のCache-Control:最大エージング= 0' )。
    // あなたはIE 9に提供している場合には、以下が必要かもしれ
    ヘッダ(「のCache-Control:最大エージング= 1」); 
 
    // あなたがSSL経由でIEに提供している場合には、以下が必要かもしれ
    ヘッダ(「有効期限:月、1997年7月26日5時00分00秒GMT」); // 過去の日付
    ヘッダ( '最終修飾:' gmdate( 'D、DのMYH:I:S'。 ')GMT');
    ヘッダ( 'のCache-Control:キャッシュ、しなければならない-再検証'); // HTTP / 1.1 
    ヘッダ( 'プラグマ:パブリック')。// HTTP / 1.0 
 
    $ライター = \ PhpOffice \ PhpSpreadsheet \ IOFactory :: createWriter($スプレッドシート、 'XLSX' );
    $作家 - >( 'PHP://出力'保存)。
    終了; 
}

結果:

 

3、ローカルのExcelにファイルを保存

/ * * 
 * Excelファイルローカルに保存
 * / 
機能保存()
{ 
    するrequire_once __ DIR__ '/vendor/autoload.php'。; 
 
    $データ = [ 
        [ 'TITLE1' => '111'、 'TITLE2' => '222' ]、
        [ 'TITLE1' => '111'、 'TITLE2' => '222']、
        [ 'TITLE1' => '111'、 'TITLE2' => '222' ] 
    ]; 
    $タイトル = [「最初行ヘッダ「」第2の行ヘッダ' ]; 
 
    // 新しい新しいスプレッドシートオブジェクトを作成
    $スプレッドシートを = 新しい新しい\ PhpOffice \ PhpSpreadsheetスプレッド\()。
    $シート = $スプレッドシート - >GetActiveSheet関数(); 
 
    // ヘッダー
    //セルの内容が
    $ titCol = 'A' ;
     foreachの$タイトル AS  $キー => $値){
         // 書かれたセルの内容
        $シート - > setCellValue($のtitCol。 、」1' $値);
         $ titCol ++ ; 
    } 
    $行 = 2; // から二行目
    のforeach$データ AS  $アイテム){
         $ DataCol = 'A' ;
         foreachの$アイテム AS  $値){
             // 单元格内容写入
            $シート - > setCellValue($ dataCol$行$値)。
            $ dataCol ++ ; 
        } 
        $行 ++ 
    } 
 
    // 保存
    $作家 = \ PhpOffice \ PhpSpreadsheet \ IOFactory :: createWriter($スプレッドシート、 'XLSX' );
    $作家 - >( '01simple.xlsx'保存)。
}

 

4、エクセルファイルの内容を読み取ります

/ * * 
 *读取エクセル文件内容
 * / 
機能リード()
{ 
    するrequire_onceの __ DIR__。'/vendor/autoload.php' ;
    $ inputFileName = のdirname__FILE__)。'/01simple.xlsx' ;
    $スプレッドシート = \ PhpOffice \ PhpSpreadsheet \ IOFactory ::負荷($ inputFileName )。
    // 方法二
    $ sheetData = $スプレッドシート - > GetActiveSheet関数() - >のtoArray(ヌル真の本当の真の);
    リターン $ sheetData 
}

結果:

 

可能性のある問題:

1、致命的なエラー:不明なエラー:クラスのPhpOffice \ PhpSpreadsheet \スプレッドシート 'が見つかりません

自動的な負荷が存在しないためです。手動で導入されたファイルを読み込むことができます。

require_onceを __ DIR__。'/vendor/autoload.php';

または:

require_onceを __ DIR__。'/vendor/phpoffice/phpspreadsheet/src/Bootstrap.php';

 

2、致命的なエラー:インターフェース 'Psrの\ SimpleCache \ CacheInterface' が見つかりません

何PSR文書、簡単なキャッシュモジュールの不足がないからです。作曲がインストールされている場合は、自動的に生成されました。ない場合は、手動でダウンロードすることができます。

GitHubのダウンロード:https://github.com/php-fig/simple-cache/releases

 

おすすめ

転載: www.cnblogs.com/woods1815/p/11372007.html