我想要与此完全相反的。
我想将一个充满电子邮件的 .xls 文件加载到数据库列中。
最简单的方法是什么?
使用MySQL 的 LOAD DATA INFILE 语法来使用在步骤 1 中创建的 CSV 文件,使用:
LOAD DATA INFILE 'data.txt' INTO TABLE tbl_name
FIELDS TERMINATED BY ',' ENCLOSED BY '"'
LINES TERMINATED BY '\r\n'
IGNORE 1 LINES;
MySQL 实例必须可以在本地访问该文件,因此如果服务器无法物理访问,则必须上传该文件。
就像小马说的,你必须先“另存为> CSV”然后上传并做任何事情。然而,权限通常不允许该 SQL 语句。我个人最喜欢的是使用csv2sql.com,因为它会完成繁重的工作并为您提供 SQL 来执行,但是您可以使用更安全的fgetcsv,并且您可以在脚本中实现一些东西。
使用 fgetcsv,假设您只有一个列有电子邮件地址的列文件,您可以执行以下操作:
$row = 1;
if (($handle = fopen("test.csv", "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$num = count($data);
//echo "<p> $num fields in line $row: <br /></p>\n";
$row++;
for ($c=0; $c < $num; $c++) {
if ($c==0){
//This is the first column
//Just run a generic MySQL insert command here (see below for link for more info on this)
}
}
}
fclose($handle);
}
PHP MySQL 插入教程:在W3Schools上。这应该让你继续努力。