php - 使用 PHP 将 CSV/Excel 导入 MYSQL

标签 php mysql excel csv excel-2010

将 CSV/Excel 导入 MYSQL 时遇到一些问题,坦率地说不确定这种情况是否可能?抱歉,我没有任何代码,我只是想掌握如何执行此操作。

这里是漂移:我有一个包含 4 列的表,id,userid,starttime,endtime。 ID,为主键。开始时间和结束时间都存储为 DATETIME。 示例:

id    userid      starttime              endtime
1        3    2015-01-18 12:00:00  2015-01-18 16:00:00

我想导入一个 Excel 工作表,其布局如下:http://tinypic.com/r/281lyd/8 (此外,开始和结束都是单独的列)

问题:

  1. 这可能吗?如果是这样,怎么办?
  2. 如果没有,该问题还有哪些其他替代解决方案?我需要以某种方式将每周数据导入 mysql 数据库,然后按周在线输出到表中。 (管理员会这样做,但这应该不费力或耗时。)

最佳答案

您可以使用EasyXLS用于导入 Excel 文件的库。我不知道你是否需要导入xls或xlsx文件,所以我下面的源代码是针对xlsx的。 xlsx 文件的代码类似。首先,将单元格值导入到行列表中,然后将列表值插入到 MySQL 数据库中。

// Create an instance of the class that imports Excel files
$xls = new COM("EasyXLS.ExcelDocument");
    
// Import Excel file to List
$rows = $xls->easy_ReadXLSXSheet_AsList("Excel.xls", "Sheet1");

// Iterate List values
for ($rowIndex=0; $rowIndex<$rows->size(); $rowIndex++)
{
        $row = $rows->elementAt($rowIndex);
        for ($cellIndex=0; $cellIndex<$row->size(); $cellIndex++)
        {
            echo "At row ".($rowIndex + 1).", column ".($cellIndex + 1).
                        " the value is '".$row->elementAt($cellIndex)."'<br>";
            // SQL syntax to insert cell value into MySQL database: $row->elementAt($cellIndex)
            ...
        }
}

欲了解更多技术数据,您可以查看以下链接: http://www.easyxls.com/manual/FAQ/import-excel-to-mysql.html

要将数据插入 MySQL,请使用类似的语法: http://www.w3schools.com/php/php_mysql_insert.asp

并在 SQL 语法的 VALUE 部分使用 $row->elementAt($cellIndex)

要导入 CSV 文件,您可以以类似的方式使用 easy_ReadCSVFile_AsList

关于php - 使用 PHP 将 CSV/Excel 导入 MYSQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28493068/

相关文章:

php - 根据登录名将两个不同的用户重定向到不同的页面

php - PHP 中 MySQL 的 "Delete row"按钮

php - 在 Shopify 中更新 1000 个商品的最佳方式?

php - 针对 1000000 多行优化此查询

vba - Excel宏: for loop file to file

c# - 如何用 C# 比较两个范围的 Range.Value2

php - 使用 str_getcsv 有什么好处?

Mysql如何连接这些表

android - SQLite 数据库中的表情符号

c++ - 如何在 excel 退出期间调试 c++ excel 插件的异常