php 将excel导入mysql

首先我来介绍一下如何使用 PHP 将 Excel 数据导入 MySQL 数据库。

环境准备

在进行 Excel 文件导入之前需要准备以下环境:

  1. PHP 环境,推荐使用 PHP 5.2 版本及以上

  2. 加载并安装 PhpSpreadsheet 扩展库,可以使用 Composer 进行安装,也可手动安装

  3. MySQL 数据库环境

  4. Excel 文件

步骤

  1. 创建一个 PHP 文件,命名为 excel_to_mysql.php,作为导入脚本。

  2. 在脚本中引入 PhpSpreadsheet 类库,如果使用 Composer 安装,则可以使用以下代码进行引入:

require 'vendor/autoload.php';
  1. 连接 MySQL 数据库,创建一个名为 excel 的数据库,并在里面新建一个名为 employees 的表,表结构如下:
CREATE TABLE `employees` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) NOT NULL,
  `email` varchar(50) NOT NULL,
  `age` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
  1. 使用 PhpSpreadsheet 类库获取 Excel 文件中的数据,并将其插入到 employees 表中,示例如下:
use PhpOffice\PhpSpreadsheet\IOFactory;

//加载Excel文件
$filename = 'employees.xlsx'; 
$inputFileType = IOFactory::identify($filename);
$reader = IOFactory::createReader($inputFileType);

// 选择Excel的工作表
$reader->setLoadSheetsOnly(["Sheet1"]);
$spreadsheet = $reader->load($filename);
$worksheet = $spreadsheet->getActiveSheet();
$rows = $worksheet->toArray();

//把数据写入到数据库
$db_host = 'localhost';
$db_username = 'root';
$db_password = '';
$db_name = 'excel';

// 连接数据库
$conn = mysqli_connect($db_host, $db_username, $db_password, $db_name);
if (!$conn) {
    die("连接失败:" . mysqli_connect_error());
}

//遍历数据,插入数据到表中
foreach ($rows as $key => $row) {
    //跳过第一行,因为它是标题
    if ($key == 0) {
        continue;
    }
    $name = $row[0];
    $email = $row[1];
    $age = $row[2];

    //插入数据到表中
    $sql = "INSERT INTO employees (name, email, age) 
            VALUES ('$name', '$email', '$age')";
    if (mysqli_query($conn, $sql)) {
        echo "插入成功";
    } else {
        echo "出错:" . mysqli_error($conn);
    }
}

//关闭数据库连接
mysqli_close($conn);

示例

下面是两个示例,分别演示了如何使用 PHP 将两个不同的 Excel 文件导入到 MySQL 数据库中。

示例一:employees.xlsx

name email age
Alice alice@example.com 27
Bob bob@example.com 31
Carol carol@example.com 35

示例二:students.xlsx

name email age
Tom tom@example.com 18
Jerry jerry@example.com 19
William william@example.com 20

通过上述步骤和示例,你就可以成功地将 Excel 数据导入到 MySQL 数据库中了。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:php 将excel导入mysql - Python技术站

(0)
上一篇 2023年5月27日
下一篇 2023年5月28日

相关文章

  • php实现数组按指定KEY排序的方法

    首先,我们可以使用PHP内置的函数usort和自定义的排序函数来实现数组按指定KEY排序。以下是具体的步骤: 创建自定义排序函数 首先,我们需要创建一个函数,它将用来比较两个数组元素以确定它们的顺序。假设我们要按照“age”键的值对数组进行排序,可以使用以下自定义排序函数: function cmp($a, $b) { return $a[‘age’] – …

    PHP 2023年5月26日
    00
  • Windows Server 2008(R2) 一键安装PHP环境(PHP5.3+FastCGI模式)

    我会给出完整的攻略。以下是Windows Server 2008(R2)一键安装PHP环境的步骤和示例说明。 步骤一:下载并安装IIS 首先,你需要下载和安装IIS。在Windows Server 2008的控制面板中,选择“程序”-> “打开和关闭Windows功能”,勾选“IIS”即可。 步骤二:下载并运行一键安装PHP工具 接下来,你需要下载一键…

    PHP 2023年5月30日
    00
  • PHP实现事件机制实例分析

    下面就为大家分享一下“PHP实现事件机制实例分析”的完整攻略。在这里,我们将讲解以下几个方面: 什么是事件机制? 为什么要使用事件机制? PHP如何实现事件机制? 事件机制的实例分析 1. 什么是事件机制? 事件机制是指程序在特定情况下,通过监听和回调函数的方式来触发一系列和这个事件相关的操作。 在事件机制中,存在三个主要的角色:事件源、事件以及监听器。 事…

    PHP 2023年5月27日
    00
  • 支付宝怎么删除小程序? 支付宝已收藏小程序删除的方法

    下面我将为大家详细讲解“支付宝怎么删除小程序? 支付宝已收藏小程序删除的方法”。 删除小程序的基本方法 打开支付宝应用,在首页下拉找到“更多”选项; 点击“更多”,进入下一级页面后,可以看到“小程序”选项; 点击“小程序”,进入小程序收藏页面; 找到需要删除的小程序,长按小程序图标,弹出删除提示框; 点击“删除”按钮,即可将小程序从支付宝中删除。 删除小程序…

    PHP 2023年5月30日
    00
  • 详解PHP多个进程配合redis的有序集合实现大文件去重

    我来详细讲解一下 “详解PHP多个进程配合redis的有序集合实现大文件去重”的攻略。 背景 在处理大规模文件去重时需要考虑处理速度和去重效果,同时需要考虑内存消耗问题,因此我们可以使用多个进程进行处理,并使用 Redis 的有序集合功能进行去重。这样可以保证较高的处理效率,同时也能保证内存使用较小。 需求 大规模的文件去重,需要使用多个进程进行处理。 文件…

    PHP 2023年5月27日
    00
  • 使用fileReader的一个坑及解决

    调用fileReader对象的readAsText()方法读取文件内容时,有时会遇到编码问题,导致无法正常读取文件内容的情况。本文将详细讲解使用fileReader的一个坑及解决方法。 问题描述 当fileReader对象读取文件内容时,有时会遇到编码问题,导致无法正确读取文件内容。 示例1 var reader = new FileReader(); re…

    PHP 2023年5月27日
    00
  • PHP删除数组中指定值的元素常用方法实例分析【4种方法】

    PHP删除数组中指定值的元素常用方法实例分析【4种方法】 1.使用unset函数 使用unset函数可以删除数组中指定下标的元素。使用如下: unset($array[$key]); 代码示例: $arr = array(‘a’,’b’,’c’,’d’,’e’); unset($arr[2]); //删除下标为2的元素 print_r($arr); //输出…

    PHP 2023年5月26日
    00
  • php数据类型判断函数有哪些

    在PHP中,我们可以使用多种函数来检查变量的数据类型,这些函数可以帮助我们在使用变量前判断变量的类型,防止出现意想不到的错误。下面是PHP中用来检查数据类型的函数: 1. is_int() is_int()函数用来判断一个变量是否是整数,如果是整数则返回true,否则返回false。以下是is_int()函数的示例代码: $a = 123; if (is_i…

    PHP 2023年5月25日
    00
合作推广
合作推广
分享本页
返回顶部