Last updated on November 18, 2022
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.
Similar Posts
CodeIgniter 4 – Export data to excel in CodeIgniter using PhpSpreadsheet
How to use PHPExcel with CodeIgniter?
How to generate excel from the array using PHPExcel
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
the library into it.
$ composer require phpoffice/phpspreadsheet
Here is my directory structure after installing phpoffice/phpspreadsheet
Step 3: Open application/config/config.php
file and set your vendor directory path
$config['composer_autoload'] = 'vendor/autoload.php';
Step 4: Use phpspreadsheet
the library inside your controller, here is the sample:
<?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