繁体   English   中英

如何将数据从XLS文件导入MySQL?

[英]How can I import data from an XLS file to MySQL?

当我尝试使用以下代码将MS Excel数据导入MySQL数据库时:

<?php  
    $db_username="root"; //database user name
    $db_password="";//database password
    $db_database="hr_mysql"; //database name
    $db_host="localhost";


    mysql_connect($db_host,$db_username,$db_password);
    @mysql_select_db($db_database) or die( "Unable to connect to database.");

    $handle = fopen("UploadIt.xls", "r"); //test.xls excel file name
    if ($handle)
    {
        $array = explode("\n", fread($handle, filesize("UploadIt.xls")));
    }

    $total_array = count($array);
    $i = 0;
    $Leave_Type_Id1="LTY001";
    $Leave_Type_Id2="LTY002";

    while($i < $total_array)
    {
    $data = explode(",", $array[$i]);    
    //$sql = "insert into test values ('$data[0]','$data[1]')";
    $sql = "update `hs_hr_employee_leave_quota` set `no_of_days_allotted`= {$data[0]} WHERE `employee_id`= {$data[0]} and `leave_type_id`= '{$Leave_Type_Id1}'";        
    $result = mysql_query($sql);
    $sql = "update `hs_hr_employee_leave_quota` set `no_of_days_allotted`= {$data[2]} WHERE `employee_id`= {$data[0]} and `leave_type_id`= '{$Leave_Type_Id2}'";        
    $result = mysql_query($sql);
    $i++;
    }
    if($result==false)
            echo "Not succed";  
    else 
    {
        echo "completed";   
    }

?>

我的.xls工作表是:

但是我说错了

htdocs \\ Verify \\ XL_To_DBTable.php第28行-未定义的偏移量:2

| 1 | 2 | 5 |

| 2 | 3 | 5 |

| 3 | 3 | 4 |

| 4 | 3 | 9 |

| 5 | 4 | 1 |

(仅将以上假设为xls表)

您需要正确读取该文件作为MS Excel文件。 您将其视为ascii文本文件。 您可以手动将文件转储为CSV格式,并使用与现有逻辑类似的逻辑对其进行解析。 或者您可以使用:

PHP Excel文件阅读器

并使用它来解析文件,获取内容,然后创建适当的查询以在mysql中执行。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM