2010-05-07 55 views
-1

我目前出口從PHP數據使用如下代碼擅長:PHP +下載到Excel - >工作表的名稱

include("dbconnect.php"); 

$query = $_POST['query']; 
$result = odbc_exec($conn,$query); 

$count = odbc_num_fields($result); 
//Define Variable For ODBC 
$data = ""; 
//Field Name Data 
for ($i = 1; $i <= $count; $i++) 
    { 
     $data .= odbc_field_name($result, $i)."t"; 
    } 

$data .= "n";  
//Row Data 
while(odbc_fetch_row($result)) 
    { 
     for ($j = 1; $j <= $count; $j++) 
      { 
       $data .= odbc_result($result, $j)."t"; 
      } 
     $data .= "n"; 
    } 

header("Content-type: application/octet-stream"); 
header("Content-Disposition: attachment; filename=ExcelFile.xls;"); 
header("Pragma: no-cache"); 
header("Expires: 0"); 
echo $data; 
odbc_close($conn); 

這一切工作正常,但是生成excel文件具有的SHEETNAME: 「.xls] ExcelFile(1)」,並且當您嘗試重命名工作表時,它會在Excel中導致錯誤(除非先保存文件)。

如何在我的php文件中定義sheetname?

在此先感謝!

有一個愉快的週末:-)

回答

0

通過改變

header("Content-type: application/octet-stream"); 

header("Content-type: application/vnd-ms-excel"); 

它下載沒有任何錯誤,我能保存。工作表名稱與Excel名稱相同。

1

你不是實際創建一個XLS文件,但製表符分隔值文件。 Excel可以讀取它,但它只是填充第一個工作表中的數據。由於它不是真正的xls文件,因此無法以任何方式命名工作表選項卡。 一種選擇是將您的代碼更改爲使用編寫真正的xls文件的庫(例如PHPExcel(http://www.phpexcel.net)),然後您可以在腳本中爲工作表選項卡定義一個名稱。