如何在php中将.xls文件加载到mysql数据库?

如何在php中将.xls文件加载到mysql数据库?,php,mysql,xls,Php,Mysql,Xls,我想要的正好相反 我想将一个充满电子邮件的.xls文件加载到数据库列中 最简单的方法是什么 将Excel电子表格导出为CSV格式 用于使用步骤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实例必须能够在本地访问该文件,因此如果

我想要的正好相反

我想将一个充满电子邮件的.xls文件加载到数据库列中

最简单的方法是什么

  • 将Excel电子表格导出为CSV格式
  • 用于使用步骤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实例必须能够在本地访问该文件,因此如果服务器无法物理访问,则必须上载该文件

  • 将Excel电子表格导出为CSV格式
  • 用于使用步骤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实例必须能够本地访问该文件,因此,如果服务器无法物理访问,则必须上载该文件。

    您可以使用,它可以读取大多数Excel文件格式(BIFF5、BIFF8、spreadsheetML)。不幸的是,该项目的文档位于word文件中,因此无法直接链接到特定部分,但这是第6.4.1节/第37页。

    您可以使用,它可以读取大多数Excel文件格式(BIFF5、BIFF8、spreadsheetML)。不幸的是,该项目的文档位于word文件中,因此无法直接链接到特定部分,但这是第6.4.1节/第37页。

    正如Ponies所说,您必须先“另存为”>“CSV”,然后上传并执行任何操作。但是,权限通常不允许使用该SQL语句。我个人最喜欢的是使用,因为它将完成繁重的工作,并为您提供只需执行的SQL,但是您可以使用更安全的SQL,以及可以在脚本中实现的SQL

    使用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);
    }
    
    $row=1;
    if($handle=fopen(“test.csv”、“r”)!==FALSE){
    while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
    $num=计数($data);
    //echo“$num字段位于第$row行:

    \n”; $row++; 对于($c=0;$c<$num;$c++){ 如果($c==0){ //这是第一栏 //只需在此处运行一个通用的MySQL insert命令(有关此命令的更多信息,请参阅下面的链接) } } } fclose($handle); }

    PHP MySQL插入教程:在。这会让你继续努力。

    就像小马们说的,你必须先“另存为>CSV”,然后上传并做任何事情。但是,权限通常不允许使用该SQL语句。我个人最喜欢的是使用,因为它将完成繁重的工作,并为您提供只需执行的SQL,但是您可以使用更安全的SQL,以及可以在脚本中实现的SQL

    使用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);
    }
    
    $row=1;
    if($handle=fopen(“test.csv”、“r”)!==FALSE){
    while(($data=fgetcsv($handle,1000,“,”)!==FALSE){
    $num=计数($data);
    //echo“$num字段位于第$row行:

    \n”; $row++; 对于($c=0;$c<$num;$c++){ 如果($c==0){ //这是第一栏 //只需在此处运行一个通用的MySQL insert命令(有关此命令的更多信息,请参阅下面的链接) } } } fclose($handle); }
    PHP MySQL插入教程:在。这会让你继续努力