2012-09-27 71 views
2

我有下面的代碼可導出CSV文件:PHP文件 - 導出XLS,而不是CSV

//Selecting Item Data based on Date 
$result = mysql_query("SELECT item_no, qty, discount_price, date 
    FROM sold_items WHERE date BETWEEN '".$fdate."' AND '".$tdate."' 
    ORDER BY date Desc"); 

$filename = "C:/xampp/htdocs/frame/Sales".".csv"; 
if(file_exists($filename)) { 
    $f = fopen("{$filename}", 'w'); 
    //Fputs the Table Headers 
    fputcsv($f, array('Item No', 'Qty', 'Sell Price', 'Date')); 

    //Fputcsv adds records to csv file 
    while($row = mysql_fetch_array($result, MYSQL_NUM)) 
    { 
     fputcsv($f, $row); 
    } 
    //Close file 
    fclose($f); 
} 

上面的代碼完美地工作,問題是,我需要停止從現在起,出口導出CSV一個xls文件。 我已經改變$filename爲:

$filename = "C:/xampp/htdocs/frame/Sales".".xls"; 

XLS格式是不正確的,它像所有的記錄都是一個領域裏面發生在Excel文件。我試過Google搜索,看到一些複雜的方法phpexcel和我不明白的東西。有沒有一個簡單的方法來做到這一點?也許用/t將每條記錄作爲excel中的單獨字段。

+1

你試過http://phpexcel.codeplex.com/? – Peon

+1

Excel文件比原始數據稍微複雜一些。它有一個特定的佈局。使用許多可用的PHP Excel庫之一。 – Oldskool

回答

2

你可以像使用那些

include ‘library/PHPExcel.php’; 
include ‘library/PHPExcel/Writer/Excel2007.php’; 

圖書館看到這裏http://phpexcel.codeplex.com/