2012-05-23 111 views
-1

以前我已經提過了一個類似的問題,但我被告知我的問題只是我懶惰,所以讓我換個話題。使用PHP導出爲.xls時出錯

我一直使用PHP類的腳本,使我能夠將我的SQL數據導出到.xls文件,但生成的excel文件不顯示任何值,並且沒有錯誤顯示在網頁上。

類文件即時通訊使用的是記錄在下面的鏈接:

http://web.burza.hr/blog/php-class-for-exporting-data-in-multiple-worksheets-excel-xml/

並且Ive納入它在我的網站如下

$dbase->loadextraClass('excel.xml'); 

$excel = new excel_xml(); 

$header_style = array(
         'bold'  => 1, 
         'size'  => '14', 
         'color'  => '#000000', 
         'bgcolor' => '#ffffff' 
        ); 

$excel->add_style('header',$header_style); 


if(isset($_POST['fec_save'])) 
{ 
    if($_POST['reporttype']=='films') 
    { 

     $films = $dbase->runquery("SELECT datetime,title,country_of_origin,language,runningtime,(SELECT name FROM fec_client WHERE filmid = fec_film.filmid) AS client, (SELECT rating_decision FROM fec_rating_report WHERE filmid = fec_film.filmid) AS rating FROM fec_film WHERE datetime >= '".strtotime($_POST['fromdate'])."' AND datetime <= '".strtotime($_POST['todate'])."'",'multiple'); 

     $filmcount = $dbase->getcount($films); 

     //continue with excel buildup 
     $columns = array('Date','Title','Origin','Language','Minutes','Client','Rating'); 
     $excel->add_row($columns,'header'); 

     for($i=1; $i<=$filmcount; $i++) 
     { 
      $film = $dbase->fetcharray($films); 

      $excel->add_row($film['datetime'],$film['title'],$film['country_of_origin'],$film['language'],$film['runningtime'],$film['client'],$film['rating']); 
     } 

     $excel->create_worksheet('From_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate'])); 

     $xml = $excel->generate(); 
     $excel->download('FilmsClassified_from_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate'])); 
    } 

} 

我想一些援助,以什麼我也許做錯了。

感謝

+0

到目前爲止,您已經做了哪些調試問題? –

+1

問題是人們不想開始[調試第三方課堂](http://meta.stackexchange.com/a/129787/172936)...你必須縮小這個問題的範圍。 ..嘗試創建最小的例子,當你打到牆上,那麼你可以更具體地說明什麼部分正在給你的問題... – Lix

+0

是'$ _POST ['fec_save']'設置? –

回答

0

太長髮布的評論:

$xml = $excel->generate(); 

創建所有的XML文件內容作爲一個字符串,並將其存儲在$ XML 而

$excel->create_worksheet('From_'.str_replace(' ','',$_POST['fromdate']).'_to'.str_replace(' ','',$_POST['todate'])); 

創建xml並指示它輸出,並有適當的頭文件供下載。

所以你沒有正確使用這個類,因爲這是不必要的重複工作。