テレットブログ

CodeIgniterでPhpSpreadsheetを使用してExcelを生成する方法

2020年04月23日
image
このチュートリアルでは、CodeIgniter 3プロジェクト内でのPhpSpreadsheetライブラリの使用について説明します。 
PhpSpreadsheetは、スプレッドシートファイルを読み書きするためのPHPライブラリです。
 

 

概要、PhpSpreadsheetを使用してCodeIgniter 3アプリケーションでExcelを生成する手順です。

 

  1. ステップ1: CodeIgniterをダウンロードしてインストールします。
     
  2. ステップ2:以下のcomposerコマンドを実行して、プロジェクトフォルダーからphpspreadsheetライブラリをダウンロードします。 「vendor」という新しいフォルダーが作成され、 phpoffice/phpspreadsheetライブラリがダウンロードされます。

    $ composer require phpoffice / phpspreadsheet

    phpoffice / phpspreadsheetをインストールした後のディレクトリ構造は次のとおりです



     
  3. ステップ3: application/config/config.phpファイルを開き、ベンダーディレクトリパスを設定します

    $ config [ 'composer_autoload' ] = 'vendor/autoload.php' ;
     codeigniter3をcomporserでインストールして設定済のかたは記載する必要はないかもしれません。
     
  4. 手順4: phpspreadsheetライブラリをコントローラー内で使用します。
    サンプル
     
    < ? php
    
    	defined ( 'BASEPATH' ) OR exit ( 'No direct script access allowed' ) ;
    
    	 
    
    	use PhpOffice \ PhpSpreadsheet \ Spreadsheet ;
    
    	use PhpOffice \ PhpSpreadsheet \ Writer \ Xlsx ;
    
    	 
    
    	class Welcome extends CI_Controller {
    
    	    
    
    	     public function index ( )
    
    	     {       
    
    	         $ spreadsheet = new Spreadsheet ( ) ;
    
    	         $ sheet = $ spreadsheet - > getActiveSheet ( ) ;
    
    	         $ sheet - > setCellValue ( 'A1' , 'Hello World !' ) ;
    
    	        
    
    	         $ writer = new Xlsx ( $ spreadsheet ) ;
    
    	 
    
    	         $ filename = 'name-of-the-generated-file.xlsx' ;
    
    	 
    
    	         $ writer - > save ( $ filename ) ; // will create and save the file in the root of the project
    
    	 
    
    	     }
    
    	 
    
    	     public function download ( )
    
    	     {
    
    	         $ spreadsheet = new Spreadsheet ( ) ;
    
    	         $ sheet = $ spreadsheet - > getActiveSheet ( ) ;
    
    	         $ sheet - > setCellValue ( 'A1' , 'Hello World !' ) ;
    
    	        
    
    	         $ writer = new Xlsx ( $ spreadsheet ) ;
    
    	 
    
    	         $ filename = 'name-of-the-generated-file' ;
    
    	 
    
    	         header ( 'Content-Type: application/vnd.ms-excel' ) ;
    
    	         header ( 'Content-Disposition: attachment;filename="' . $ filename . '.xlsx"' ) ;
    
    	         header ( 'Cache-Control: max-age=0' ) ;
    
    	        
    
    	         $ writer - > save ( 'php://output' ) ; // download file
    
    	 
    
    	     }
    
    	}

詳細については、次の公式ドキュメントページをご覧ください– phpspreadsheet documentation
 


新着記事

image

conoha vps で postfix にDKIMをセットする

2025年06月02日
# メールサーバー設定作業レポート ## 1. 作業概要 ConoHa
Read more →
image

shopipyのページネーションについて

2023年11月15日
Shopify APIのレスポンスヘッダーには、ページネーションに関す
Read more →
image

Git-ftpを使ったファイルアップロードの方法

2023年04月20日
タイトル: Git-ftpを使ったファイルアップロードの方法 概要
Read more →
image

ChatGPTとjQueryの組み合わせで新しい時代のウェブ開発をリード

2023年04月19日
近年、AI技術がウェブ開発の分野においても急速に浸透しています。特に、ChatG
Read more →
image

ChatGPTで日本語をマスター!次世代AI技術を活用したコミュニケーションの強化

2023年04月18日
ChatGPTは、OpenAIが開発した最先端のAI技術であり、自然言語処理(N
Read more →
Choose Colour