2012-05-22 32 views
0

有沒有辦法將excel數據導入數據表?我的要求是,我想將數據表數據導出到xls/csv中,進行批量更改並將其導回到數據表(mysql後端)。有沒有這個導入插件?請指教。提前致謝。PHP頁面下載MySQL表格

我想在我的php網頁上進行導入導出,而不是直接從mysql導入導出。基本上,我想給用戶一個選項,批量下載和數據

回答

0

的上傳功能,您可以導出爲CSV:

SELECT * 
INTO OUTFILE 'filename.csv' 
FIELDS TERMINATED BY ',' 
OPTIONALLY ENCLOSED BY '"' 
ESCAPED BY '\\' 
LINES TERMINATED BY '\n' 
FROM tablename 

您可以從CSV導入:

LOAD DATA LOCAL 
INFILE 'filaneme.csv' INTO TABLE tablename 
FIELDS TERMINATED BY ',' 
ENCLOSED BY '"' 
LINES TERMINATED BY '\n' 
(col1, col2, col3,...) 

修訂 以下是大致的想法 - 寫一個標題,循環遍歷行,用text/csv返回它MIME-TYPE

$rsResults = mysql_query($sql, $db) or die(mysql_error()); 
$out = ''; 

$fields = mysql_list_fields('database','table',$db); 
$columns = mysql_num_fields($fields); 

for ($i = 0; $i < $columns; $i++) { 
    $l=mysql_field_name($fields, $i); 
    $out .= '"'.$l.'",'; 
} 

$out .="\n"; 

while ($l = mysql_fetch_array($rsResults)) { 
    for ($i = 0; $i < $columns; $i++) { 
     $out .='"'.$l["$i"].'",'; 
    } 
    $out .="\n"; 
} 

header("Content-Disposition: attachment; filename=table.csv"); 
header("Content-type: text/csv"); 

echo $out; 

exit; 
+0

我想在我的php網頁上做這個導入和導出,而不是直接從mysql導入。基本上,我想給用戶一個批量下載和上傳數據的選項 – user1165952

+0

你是如何使用該代碼的? –

+0

仍在努力。您的擴展帖子是否需要導出?導出的SELECT查詢在phpadmin atleast中工作,但沒有標題。應該有一些選項來提取標題。 – user1165952