如何将Excel文件转换为SQL插入语句

时间:2013-12-27 17:08:49

标签: php sql excel

我被困在将Excel文件转换为PHP数组。我需要将数据插入SQL数据库中的表。

1 个答案:

答案 0 :(得分:1)

一种简单的方法是将excel文件转换为易于阅读的格式,如CSV文件。为此,请在Excel中打开文件并将其导出为CSV文件。

之后,您将能够使用fopen()fgetcsv()在PHP中阅读它,以使用常规SQL访问命令插入它们。

附加功能:

由于CSV文件是这样的,

"Text field",12,45,87.32,"Another text field"
"I am another row",43,12,98.2,"And another text field"

如果您确保您的数据在任何可能的注入尝试中都是安全的,您可以使用基本的字符串操作来生成SQL语句以及普通的fread()

$sql = 'INSERT INTO `MyTable` VALUES('.$fileRow.')';

这将是这样的:

INSERT INTO `MyTable` VALUES("Text field",12,45,87.32,"Another text field")
INSERT INTO `MyTable` VALUES("I am another row",43,12,98.2,"And another text field")

示例(未经测试)脚本:

$file = fopen('data.csv', 'r');

while( ($line = fread($file)) !== false ) {
    $sql = 'INSERT INTO `MyTable` VALUES('.$line.')';
    // Do something here, like a PDO query or whatever you use
}