2014-06-07 06:52
浏览 48


What I need:

  1. on click of Export Tab Data from Database is loaded in Excel file in format such as csv , xls etc..

My Problem :

  • when Execute file No Data is loaded in Excel File .

here is my code snippet :

     ini_set('display_errors', TRUE);
    ini_set('display_startup_errors', TRUE);

    mysql_connect('localhost','root','') or die('Cannot connect to database !');
    mysql_select_db("atesting_ess") or die('No database found in mysql !');

   if (PHP_SAPI == 'cli')
    die('This example should only be run from a Web Browser');

        /** Include PHPExcel */
     require_once dirname(__FILE__) . '/../Classes/PHPExcel.php';

         // Create your database query
       $query = "SELECT * FROM asana_tasks";  

       // Execute the database query
        $result = mysql_query($query) or die(mysql_error());

       // Instantiate a new PHPExcel object
       $objPHPExcel = new PHPExcel(); 
      // Set the active Excel worksheet to sheet 0

        $rowCount = 1; 
        while($row = mysql_fetch_array($result)){ 
                ->setCellValue('A'.$rowCount, $row['Projects_name'])
                ->SetCellValue('B'.$rowCount, $row['Name']) 
                 ->SetCellValue('C'.$rowCount, $row['Priority']); 

       // Redirect output to a client?s web browser (Excel2007)
     header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');
     header('Content-Disposition: attachment;filename="01simple.xlsx"'); 
     header('Cache-Control: max-age=0');
     // If you're serving to IE 9, then the following may be needed
     header('Cache-Control: max-age=1');

// If you're serving to IE over SSL, then the following may be needed
header ('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); // Date in the past
header ('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); // always modified
header ('Cache-Control: cache, must-revalidate'); // HTTP/1.1
header ('Pragma: public'); // HTTP/1.0
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
  1. i have tried t resolve the by adding dummy data its working Fine code:

       // Add some data
        ->setCellValue('A1', 'Hello')
        ->setCellValue('B2', 'world!')
        ->setCellValue('C1', 'Hello')
        ->setCellValue('D2', 'world!');
  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

1条回答 默认 最新

  • douzhuijing4911 2014-06-07 07:16

    Since column is A,B,C etc. and not 1,2,3, etc. convert it to a character. The code below works for columns A to Z, for AA,AB etc, this needs to be extended.

    $columnvalue = strtoupper(chr($col) + 96));
    $objPHPExcel->getActiveSheet()->setCellValue($columnvalue . $row, $value);
    打赏 评论

相关推荐 更多相似问题