In this post, I would like to show using of PhpSpreadsheet library within your CodeIgniter 3 project. PhpSpreadsheet is a pure PHP library for reading and writing spreadsheet files.
Here is my another post, you might be interested in – How to use PHPExcel with CodeIgniter?

Here are the steps to generate Excel in the CodeIgniter 3 application with PhpSpreadsheet:
Step 1: Download and install CodeIgniter.
Step 2: Run the below composer command to download phpspreadsheet
the library from your project folder. It will create a new folder called “vendor” and it will download phpoffice/phpspreadsheet
library into it.
1 |
$ composer require phpoffice/phpspreadsheet |

Here is my the directory structure after installing phpoffice/phpspreadsheet
Step 3: Open application/config/config.php
file and set your vendor directory path
1 |
$config['composer_autoload'] = 'vendor/autoload.php'; |
Step 4: Use phpspreadsheet
library inside in your controller, here is the sample:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 |
<?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 } } |
For more information, here is the official documentation page of – phpspreadsheet documentation
I hope you like this Post, Please feel free to comment below, your suggestion and problems if you face - we are here to solve your problems.
I am Arjun from Hyderabad (India). I have been working as a software engineer from the last 7+ years, and it is my passion to learn new things and implement them as a practice. Aside from work, I like gardening and spending time with pets.
can you make tutorial about import ?
Sure I will do in this week
Hi Arjun,
with your code I have problems when I try to open the file with Excel through the ‘Open with / Save’ menu.
I had to substitute the line:
header(‘Content-Type: application/vnd.ms-excel’);
with:
header(‘Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet’);
i can’t download it.even i has been subscribe to you
Sorry I about it I will check and fix.
I GET THIS ERROR IN THE FILE DOWNLOADED
An uncaught Exception was encountered
Type: Error
Message: Class ‘PhpOfficePhpSpreadsheetSpreadsheet’ not found
Filename: C:laragonwwwsitprogbdapplicationcontrollersWelcome.php
Line Number: 11
Backtrace:
File: C:laragonwwwsitprogbd7d91e3-7a16-40e5-852c-a29107d38299index.php
Line: 315
Function: require_once
Thanks, It helps a lot
Hi Arjun, I tried to follow your tutorial and I’m getting an response error. I created a thread on stackoverflow about it, but no success:
https://stackoverflow.com/questions/54671184/getting-err-invalid-response-with-codeigniter-and-phpspreadsheet?noredirect=1#comment96132334_54671184
Can you help me?
Good article thanks !!
super
hii how can i use this spreadsheet
Didn’t understand your question. Can you elaborate?
actually m working in hmvc in codeigniter where i can make sub modules so how can i use
CI version?
Are you using composer?