无法使用PHP创建版本2003的Excel工作表


Cant create excel sheet with version 2003 using PHP

我正在尝试使用版本 2003 创建 excel 工作表,使用 php 但我没有得到.在我的代码中使用 xlsx 扩展名时,我没有得到 excel 表。我在代码中将版本更改为xls,得到了excel工作表,但无法打开该文件.2003已安装在系统中。任何身体请帮助我..

我在下面给出的代码。

 <?php
 error_reporting(E_ALL ^ E_NOTICE);
 session_start();
//error_reporting(E_ALL);
 ini_set('display_errors', TRUE);
 ini_set('display_startup_errors', TRUE);
 date_default_timezone_set('Europe/London');
 define('EOL',(PHP_SAPI == 'cli')? PHP_EOL : '<br />');


 require_once("../../../codelibrary/inc/variables.php");
  require_once("../../../codelibrary/inc/functions.php");
 /** Include PHPExcel */
 require_once '../../Classes/PHPExcel.php';
 // Create new PHPExcel object
 $objPHPExcel = new PHPExcel();
   $objPHPExcel->setActiveSheetIndex(0)->mergeCells('A2:E2');
 $objPHPExcel->setActiveSheetIndex(0)->setCellValue('A2','Sales Register');
  $objPHPExcel->setActiveSheetIndex(0)->getStyle('A2')->getAlignment()->
  setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  $styleArray = array('font' => array('bold' => true));
  $objPHPExcel->setActiveSheetIndex(0)->getStyle('A2')->
  applyFromArray($styleArray);
  $objPHPExcel->getActiveSheet()->getStyle("A2:D2")->getFont()->setSize(16);
   $objPHPExcel->setActiveSheetIndex(0)
        ->setCellValue('A4', 'Sl No')
        ->setCellValue('B4', 'Date')
        ->setCellValue('C4', 'Ledger Account')
        ->setCellValue('D4', 'Debit Amount')
        ->setCellValue('E4', 'Credit Amount');
   $styleArray = array('font' => array('bold' => true));
                          $objPHPExcel->setActiveSheetIndex(0)->getStyle('A4')->
   applyFromArray($styleArray);
    $objPHPExcel->setActiveSheetIndex(0)->getStyle('B4')->
   applyFromArray($styleArray);
    $objPHPExcel->setActiveSheetIndex(0)->getStyle('C4')->
   applyFromArray($styleArray);
   $objPHPExcel->setActiveSheetIndex(0)->getStyle('D4')->
    applyFromArray($styleArray);
   $objPHPExcel->setActiveSheetIndex(0)->getStyle('E4')->
    applyFromArray($styleArray);
   //ALIGN HEADING TO THE CENTER        
    $objPHPExcel->setActiveSheetIndex(0)->getStyle('A4')->
   getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  $objPHPExcel->setActiveSheetIndex(0)->getStyle('B4')->
  getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  $objPHPExcel->setActiveSheetIndex(0)->getStyle('C4')->
  getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  $objPHPExcel->setActiveSheetIndex(0)->getStyle('D4')->g
  etAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
   $objPHPExcel->setActiveSheetIndex(0)->getStyle('E4')->
   getAlignment()->setHorizontal(PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
  //FOR SETTING WIDTH OF EACH COLUMN
   $objPHPExcel->getActiveSheet()->getColumnDimension('A')->setWidth(5);
   $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(15);
   $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(20);
   $objPHPExcel->getActiveSheet()->getColumnDimension('D')->setWidth(15);
   $objPHPExcel->getActiveSheet()->getColumnDimension('E')->setWidth(15);
   $sl_no=1;
   $r=5;
  $sql = "SELECT * FROM customer";
  $qry = mysql_query($sql);
 if(mysql_num_rows($qry)>0)
  {
    while($res=mysql_fetch_assoc($qry))
    { 
       $cell1 = 'A'.$r; 
       $cell2 = 'B'.$r; 
       $cell3 = 'C'.$r; 
        $cell4 = 'D'.$r; 
       $cell5 = 'E'.$r; 
        $objPHPExcel->getActiveSheet()->setCellValue($cell1,$sl_no); 
         $objPHPExcel->getActiveSheet()->setCellValue($cell2,$res['name']); 
        $objPHPExcel->getActiveSheet()->setCellValue($cell3,$res['address']); 
        $objPHPExcel->getActiveSheet()->setCellValue($cell4,$res['email']); 
        $objPHPExcel->getActiveSheet()->setCellValue($cell5,$res['supp_id']); 
        $sl_no++;
        $r++;
     }
   }
  / /Redirect output to a client's web browser (Excel2007)
  header('Content-Type: application/vnd.openxmlformats-
  officedocument.spreadsheetml.sheet');
  header('Content-Disposition: attachment;filename="Sales Register.xlsx"');
  header('Cache-Control: max-age=0');
  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel2007');
  $objWriter->save('php://output');
 exit;          
 ?>

作为标准安装,MS Excel 2003读取和写入BIFF-format文件(.xls扩展名(,尽管有一个可选的"兼容性工具包"插件,也允许它读/写OfficeOpenXML-format文件(.xlsx扩展名(。

PHPExcel的Excel5 Writer创建BIFF-format文件;Excel2007 Writer创建OfficeOpenXML-format文件。

如果要为 MS Excel 2003 生成输出,则应使用Excel5编写器,除非您知道已为要为其创建文件的 MS Excel 2003 用户安装了"兼容性工具包"插件