0

有没有办法将excel数据导入数据表?我的要求是,我想将数据表数据导出到 xls/csv,进行批量更改并将其导入回数据表(mysql 后端)。这个导入有插件吗??请指教。提前致谢。

我想在我的 php 网页上进行此导入和导出,而不是直接从 mysql 进行。基本上,我想为用户提供批量下载和上传数据的选项

4

1 回答 1

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;
于 2012-05-22T23:01:05.893 回答