Home » excel » html – PHP export excel with image

html – PHP export excel with image

Posted by: admin April 23, 2020 Leave a comment

Questions:

Hello i can use following code. The exporting functionality are working fine but there not export with image why? Please help me.

<?php
    header("Pragma: public");
    header("Expires: 0");
    header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
    header("Content-Type: application/vnd.ms-excel; charset=UTF-8");
    header("Content-Type: application/force-download");
    header("Content-Type: application/octet-stream");
    header("Content-Type: application/download");
    header("Content-Disposition: attachment; filename=member_list.xls");

    ?>
    <table cellpadding="0" cellspacing="0" border="0" class="table table-bordered">
    <thead>
        <tr><th colspan="6"><h3>Member List</h3></th></tr>
        <tr>
            <th>ID</th>
            <th>Name</th>
            <th>Email</th>
            <th>Phone No</th>
            <th>Date of Birth</th>
            <th>Profile Image</th>
            <th>Status</th> 
            <th>InsertDate</th> 
        </tr>
    </thead>
    <tbody>
      <?php 
      if(!empty($memberlist))
        {
        foreach ($memberlist as $row){  ?>
          <tr class="gradeX odd">
              <td><strong><?php echo $row->id;?></strong></td>
              <td><?php echo $row->display_name;?></td>
              <td><?php echo $row->user_email;?></td>
              <td><?php echo $row->phone;?></td>
              <td><?php echo $row->dob;?></td>
              <td><img src="<?php echo base_url().'uploads/images/member/'.$row->profile_image;?>" width="80" height="65" /><?php echo base_url().'uploads/images/member/'.$row->profile_image;?></td>
              <?php 
              if($row->is_active == 1)
              {
              ?>
                  <td>Active</td>
                  <?php 
              }
              else
              {
              ?>
                  <td>Inactive</td>
                  <?php 
              }
              ?>   
              <td><?php echo $row->insertdate;?></td>                   
          </tr>
      <?php } } ?> 
    </tbody>
    </table>
?>

How can export my excel with one column they are display image. we need this exported file with eight column and the sixth column was display images if they found in my data.

How to&Answers:

Use FCPATH instead of using base_url();

Answer:

This is how I solved mine. Hope this helps!

    public function export_items_to_excel(){
    $items = $this->transaction->view_all_items();

    $output = '';

    $output .= "<table class='table' border='1'>
                    <thead>
                        <th style='background-color:#c7c7c7;'>NAME</th>  
                        <th style='background-color:#c7c7c7;'>DESCRIPTION</th>      
                        <th style='background-color:#c7c7c7;'>QUANTITY</th>
                        <th style='background-color:#c7c7c7;'>WEIGHT (KG)</th>
                        <th style='background-color:#c7c7c7;'>HS CODE</th>
                        <th style='background-color:#c7c7c7;'>SERIAL NO.</th>
                        <th style='background-color:#c7c7c7;'>UNIT VALUE</th>
                        <th style='background-color:#c7c7c7;'>CURRENCY</th>
                        <th style='width:220px !important;background-color:#c7c7c7;'>PICTURE</th>
                    </thead>
                    <tbody>
                ";
    foreach($items as $item){ 
    $output .= "
            <tr>
                <td style='text-align:center;'>".$item->item_name."</td>
                <td style='text-align:center;'>".$item->item_description."</td>
                <td style='text-align:center;'>".$item->item_quantity."</td>
                <td style='text-align:center;'>".number_format($item->item_weight, 2)."</td>
                <td style='text-align:center;'>".$item->item_hs_code."</td>
                <td style='text-align:center;'>".$item->item_serial_number."</td>
                <td style='text-align:center;'>".number_format($item->item_unit_value, 2)."</td>
                <td style='text-align:center;'>".$item->item_currency."</td>
                <td style='text-align:center;width:220px !important;height:220px !important;'><img src='".base_url()."assets/uploads/".$item->item_picture."' style='width:200px !important;height:152px !important;'> </td>
            </tr>
                ";
    }
    $output .= "</tbody>
            </table>
        ";
    header("Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet");
    header("Content-Disposition: attachment; filename=items.xls");
    header("Cache-Control: max-age=0");
    echo $output;
}