Join the social network of Tech Nerds, increase skill rank, get work, manage projects...
 
  • PHPExcel

    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 291
    Comment on it

    Hello Readers! In this blog we are going to export data from database using PHPExcel. PHPExcel supports reading and writing of many formats in one API. PHPExcel is a library that provides a set of classes for the PHP programming language, which allow us to write to and read from different spreadsheet file formats, like Excel .xls, Excel 2007 .xlsx, CSV, Libre/OpenOffice Calc .ods PDF, etc.

     

    Some of PHPExcel features are:

    • Create an in-memory spreadsheet representation
    • Set spreadsheet meta data (author, title, description, ...)
    • Add worksheets to spreadsheet
    • Add data and formulas to individual cells
    • Merge cells
    • Protect ranges of cells with a password
    • Supports setting cell width and height
    • Supports different fonts and font styles
    • Supports formatting, styles, cell borders, fills, gradients, ...
    • Supports hyperlinks
    • Supports different data types for individual cells
    • Supports cell text wrapping
    • Supports conditional formatting
    • Supports column auto-sizing
    • Supports rich-text strings
    • Supports autofilter
    • Supports "freezing" cell panes
    • Supports cell-level security
    • Supports workbook-level security
    • Supports worksheet-level protection
    • Group rows/columns
    • Cell data validation
    • Insert/remove rows/columns
    • Named ranges
    • Worksheet references
    • Calculate formula values
    • Add comments to a cell
    • Add images to your spreadsheet
    • Set image styles
    • Set printing options
    • Output your spreadsheet object to different file formats
    • Read different file formats into your spreadsheet object

     

    Create following function in controller file:

    public function excel(){ 
          // create new empty worksheet and set default font 
          $this->PhpExcel->createWorksheet() 
                ->setDefaultFont('Calibri', 12); 
    
            // define table cells 
            $table = array( 
                array('label' => __('id')), 
                array('label' => __('name')), 
                array('label' => __('department')), 
                array('label' => __('number')), 
                array('label' => __('address')), 
                array('label' => __('salary')), 
            ); 
            // print_r($table);die(); 
    
            // add heading with different font and bold text 
            $this->PhpExcel->addTableHeader($table, array('name' => 'Cambria', 'bold' => true)); 
     
            // add data 
            $data=$this->Employee->find('all'); 
            // print_r($data);die(); 
            foreach ($data as $d) { 
                $this->PhpExcel->addTableRow(array( 
                    $d['Employee']['id'], 
                    $d['Employee']['emp_name'], 
                    $d['Employee']['emp_dept'], 
                    $d['Employee']['emp_number'], 
                    $d['Employee']['emp_address'], 
                    $d['Employee']['emp_salary'] 
                )); 
              } 
            // close table and output 
            $this->PhpExcel->addTableFooter() 
                ->output(); 
        }
    

     

    add these two lines in controller:

    App::import('Vendor', 'PHPExcel'); 
    App::import('Vendor', 'Examples');

     

    in AppController.php:

    class AppController extends Controller{
    	public $components = array('PhpExcel');
    }

    And at last create a view excel.ctp file. And add the following link in your display.ctp file:

    <?php echo $this->Html->link('Excel',array('controller'=>'employees','action'=>'excel'),array('target'=>'_blank'));?>

     

 0 Comment(s)

Sign In
                           OR                           
                           OR                           
Register

Sign up using

                           OR                           
Forgot Password
Fill out the form below and instructions to reset your password will be emailed to you:
Reset Password
Fill out the form below and reset your password: