我正在开发一个项目,用户可以在其中创建新的联系人组,也可以使用Excel数据更新现有的联系人组。
创建新的联系人组不是问题,但是将文档内容插入数据库对我来说是一个主要问题。
或者可以使用php轻松地将哪种格式导入数据库。
数据如下所示:
| name | |电子邮件| |电话|
|我| | we@us.com | | 080234444 | 等
任何建议,建议或指示都将受到赞赏。
答案 0 :(得分:0)
MySql可以使用LOAD DATA INFILE
命令轻松地从文件导入CSV *数据。如果需要解析其他Excel数据,则需要额外的方法和逻辑来读取文件并手动填充数据库。
您可以在LOAD DATA INFILE
上阅读更多信息*基本上任何分隔文本(TSV等)
请注意,有许多限制/ gothchas与分隔数据,例如,无法在csv文本中保留未转义的逗号。确保源文件符合并遵守CSV规则,否则您最终可能会损坏数据。
修改
现在您已经提供了一些数据示例,您可能想要尝试这个(或类似的东西):
LOAD DATA INFILE `your filename` INTO `Table`
Fields Terminated BY '|'
Lines Terminated BY '\r\n'
IGNORE 1 LINES
(@Col1, @Col2, @Col3, @Col4, @Col5)
SET Name = TRIM(@Col1), Email = TRIM(@Col3), Telephone = TRIM(@Col5)
在这里,您将数据加载到临时变量中,然后将其输入到表中。 请注意,该文件必须存在于本地计算机上。
修改
试试这个固定的SQL
LOAD DATA INFILE 'your filename' INTO TABLE `Table`
Fields Terminated BY '|'
Lines Terminated BY '\r\n'
IGNORE 1 LINES
(@Col1, @Col2, @Col3, @Col4, @Col5)
SET Name = TRIM(@Col1), Email = TRIM(@Col3), Telephone = TRIM(@Col5)