2014-01-27 62 views
0

後,這是我的代碼從哪裏作者,創建日期,標題在Excel中來使用PHPExcel

<?php 
     if($_POST['submited']) 
     { 
     if($_POST['dwnld_query']=="All applicants") 
     { 
      $q="select * from es_enquiry"; 
      $result=mysql_query($q); 
     } 
     header("Content-Type: application/vnd.ms-excel"); 
    header("Content-disposition: attachment; filename='".$_POST['dwnld_query']."'.xls"); 

    // print your data here. note the following: 
    // - cells/columns are separated by tabs ("\t") 
    // - rows are separated by newlines ("\n") 
      echo 'RegNo'."\t".'App for class'."\t".'FirstName'."\t".'Middle-Name'."\t".'Last-Name'."\t".'Gender'."\t".'Father Name'."\t".'DOB'."\t".'AGE'."\t".'Child Category'."\t".'Parent Category'."\t".'TC Case'."\t".'Last School Name'."\t".'TC Date'."\t". 'TC No'."\t".'CGPA'."\n"; 
      $tc_case; 
       $tc_date; 
       $tc_no; 
       while($row=mysql_fetch_object($result)) 
       { 
       if($row->last_school_type=="KV"){$tc_case="Yes";} 
       else{$tc_case="No";} 
       if($row->kv_tc_date==" ") 
       {     
         $tc_date="-"; 

       } 
       else 
       { 
        $tc_date=$row->kv_tc_date; 
       } 
       if($row->kv_tc_no==" ") 
       { 
        $tc_no="-"; 
       } 
       else 
       { 
        $tc_no=$row->kv_tc_date; 
       } 

      // for example: 
      echo $row->eq_application_no."\t".$row->eq_class."\t".$row->eq_name."\t".$row->mid_name."\t".$row->last_name."\t".$row->eq_sex."\t".$row->father_name."\t".$row->eq_dob."\t".$row->age."\t".$row->scat_id."\t".$row->parent_cate_id."\t".$tc_case ."\t".$row->eq_prv_acdmic."\t".$tc_date."\t".$tc_no."\t".$row->last_class_cgpa."\n"; 
      } 
    } 
?> 

當我下載Excel文件,它顯示出作者:馬騰Balliauw,主題:Office 2007的XLSX測試文檔,標題:Office 2007 XLSX測試文檔,類別:測試結果文件,標籤:office 2007 openxml php。就像你們在我的代碼中看到的一樣,沒有提到這些,然後從這些來自哪裏以及如何更改或刪除它們。

回答

0

如果您使用的是PHPExcel,則這些屬性是針對PHPExcel對象本身設置的,例如Document Properties,例如,

$objPHPExcel->getProperties() 
    ->setCreator("Maarten Balliauw") 
    ->setLastModifiedBy("Maarten Balliauw") 
    ->setTitle("PHPExcel Test Document") 
    ->setSubject("PHPExcel Test Document") 
    ->setDescription("Test document for PHPExcel, generated using PHP classes.") 
    ->setKeywords("office PHPExcel php") 
    ->setCategory("Test result file"); 

但是你的代碼根本不使用PHPExcel;甚至不像創建一個Excel文件,而只是手工創建一個製表符分隔的值文件(甚至沒有使用更安全的PHP更簡單更安全的內置fputcsv()函數)...所以它肯定不是生成的文件甚至不能包含任何文檔屬性。

所以檢查哪些腳本是真正產生什麼文件

+0

OK我收到你的觀點,但你看這個代碼中不是一個單一屬性上的Excel文檔設置。 'require_once'Classes/PHPExcel.php'; require_once'Classes/PHPExcel/IOFactory.php'; $ objPHPExcel = new PHPExcel(); $ objPHPExcel-> setActiveSheetIndex(0); ('Content-Type:application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'); 您的代碼。 header('Content-Disposition:attachment; filename =「Enquiry_Format。'。xlsx」'); header('Cache-Control:max-age = 0'); $ objWriter = PHPExcel_IOFactory :: createWriter($ objPHPExcel,'Excel2007'); $ objWriter-> save('php:// output');' – user3100533

+0

我在我的第二條評論中提到的代碼中使用了您的代碼,但屬性並未出現在Excel文檔中,您對此有何看法。 – user3100533

+0

我的意見是,如果在Excel工作簿中看不到這些屬性,則表示您已經做了錯誤的事情......正在生成的.xlsx文件顯示的屬性,因爲某些屬性有默認值如果你沒有手動設置它們?如果您在/ Examples中運行腳本,他們是否正確顯示屬性? –

相關問題