php - 将 XLSX 文件导入 MySQL 数据库

标签 php mysql excel

我知道以前有人问过类似的问题,但我就是找不到可以解决我的问题的答案。具体来说,我需要什么:我需要读取带有 .xslx 扩展名的导入文件,并将它们导入到 MySQL 表中的适当列中。

这是我已经尝试过的:

$file = $_FILES['file']['tmp_name'];
    $handle = fopen($file,"r");
    $name = $_FILES['file']['name'];

set_include_path(get_include_path() . PATH_SEPARATOR . 'Classes/');

        /** PHPExcel_IOFactory */
        include '../Classes/PHPExcel/IOFactory.php';


        $inputFileName = $name;  // File to read
        echo 'Loading file ',pathinfo($inputFileName,PATHINFO_BASENAME),' using IOFactory to identify the format<br />';
        try {
            $objPHPExcel = PHPExcel_IOFactory::load($inputFileName);
        } catch(Exception $e) {
            die('Error loading file "'.pathinfo($inputFileName,PATHINFO_BASENAME).'": '.$e->getMessage());
        }


        echo '<hr />';
        echo "<pre>";
        $sheetData = $objPHPExcel->getActiveSheet()->toArray(null,true,true,true);
        print_r($sheetData);

        /* foreach($sheetData as $rec)
        {
            print_r($rec);
        }
         */
    }

我忘了说我正在使用 PHP/Excel 库来完成这项任务,上面的代码引发了这个错误:

 Error loading file "jd.xlsx": Could not open jd.xlsx for reading! File does not exist

我需要存储读取数据的表有 3 列,namesurnameemail。我要求我的用户在导入此文件时必须具有以下值顺序:名称、姓氏,然后是文档中的电子邮件(就像数据库中表的结构一样)。因此,如果您对如何读取此文件并将其导入数据库有一些建议,我将不胜感激。

最佳答案

所有的评论都是完全正确的,我发现我犯了一个愚蠢的错误:

$inputFileName = $name;

取而代之的是:

$inputFileName = $file;

因为是 $name = $_FILES['file']['name'];$file = $_FILES['file']['tmp_name'];

这是我的脚本现在输出的内容:

Array
(
    [1] => Array
        (
            [A] => First Name
            [B] => Last Name
            [C] => Nationality
            [D] => Gender
        )

    [2] => Array
        (
            [A] => jaydeep
            [B] => namera
            [C] => india
            [D] => M
        )

    [3] => Array
        (
            [A] => harshad
            [B] => fefar
            [C] => india
            [D] => m
        )

    [4] => Array
        (
            [A] => jd
            [B] => patel
            [C] => ind
            [D] => m
        )

)

谢谢大家给我的见解。

关于php - 将 XLSX 文件导入 MySQL 数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35571538/

相关文章:

php - Laravel 集合 - 仅当集合包含值时才回显值

PHP: Empty/Null 和 if 逻辑查询

c# - 部署在 AWS 上时 MySQL 表不存在

vba - 如果列值存储在变量中,则更新单元格中的公式

选择中的 VBA Rows.Count

php - 无法使用 Google Drive API 将已发布标志设置为 true

php - 删除所有超过 5 天的行

php - 从 2 个数组中选择下一个事件

MySQL:游标似乎永远不会结束

excel - 添加具有连续名称的工作表在第 10 个工作表之后停止递增