2011-11-29 94 views
1

我有一個腳本,它抓取MySQL數據庫表中的數據並創建一個新的.csv excel文檔並在其中插入所有數據。現在請注意,這個腳本創建了一個新的csv文件。腳本的獲取數據庫數據到現有的Excel文檔選項卡

部分:

$result = mysql_query("SHOW COLUMNS FROM ".$table.""); 
$i = 0; 
if (mysql_num_rows($result) > 0) { 
    while ($row = mysql_fetch_assoc($result)) { 
     if($row['Field'] != 'id'){ 
      $csv_output .= $row['Field']."; "; 
      $i++; 
     } 
    } 
} 
$csv_output .= "\n"; 

$values = mysql_query("SELECT title, firstname, initials, lastname, address, address_nr, emailaddress, zipcode, city, phone, mobile, website FROM ".$table." WHERE addressbook = '$addressbook_id'"); 
while ($rowr = mysql_fetch_row($values)) { 
    for ($j=0;$j<$i;$j++) { 
     $csv_output .= $rowr[$j]."; "; 
    } 
    $csv_output .= "\n"; 
} 

$filename = $file."_".date("Y-m-d_H-i",time()); 
header("Content-type: application/vnd.ms-excel"); 
header("Content-disposition: csv" . date("Y-m-d") . ".csv"); 
header("Content-disposition: filename=".$filename.".csv"); 
print $csv_output; 
exit; 

現在問題來了。一家需要這些數據的公司已經創建了一個.xlsx Excel文件,其中包含他們需要的不可見列,再加上列已經有不同的名稱,並且該文件有兩個不同的標籤。一個包含文本,另一個包含數據應該包含的內容。

問題1:如果我將這個文件上傳到我的網絡服務器,我該如何讓腳本使用這個文件而不是創建一個新文件?

問題2:如何將其保存爲.xlsx文件而不是.csv?

問題3:工作表中有2個選項卡。數據如何插入名爲「2. data」的第二個標籤?

任何想法的?

回答

0

請看看這個帖子:How to modify existing excel file using PHP?

我的信息希望那裏你可以解決你的問題。

您將需要一些Pear數據包到PHP。

+0

謝謝你,我以前見過這個帖子。問題是我的虛擬主機沒有安裝這些數據包,而且他們拒絕這樣做。 – 45808

+0

安裝梨不是一個真正的挑戰者的任務,所以我建議你堅持你的託管服務(幾乎所有的梨都安裝),或者你也可以安裝本地服務器來完成這項任務。或者在最糟糕的情況下觀看這些軟件包的代碼並創建您自己的腳本。請記住,Pear是一個收集了有關常見問題的「幹得好」的腳本。 – Memochipan

+1

此鏈接可以幫助您設置:http://www.geeksengine.com/article/install-pear-on-shared-web-host.html – Memochipan

相關問題