php 将excel导入mysql

yizhihongxing

首先我来介绍一下如何使用 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插件功能实现方法介绍

    以下是“PHP插件功能实现方法介绍”的完整使用攻略,包括插件功能介绍、安装方法和示例说明等内容。 插件功能介绍 PHP插件是一种用于VSCode的扩展,可以提供PHP语言的代码补全、语法检查、调试等功能。以下是PHP插件的主要功能: 代码补全:自动补全PHP语言的关键字、函数、类名等。 语法检查:检查PHP代码的语法错误和警告。 调试:在VSCode中调试P…

    PHP 2023年5月12日
    00
  • php实现通过ftp上传文件

    通过 FTP(File Transfer Protocol)上传文件是一种常见的操作,可以通过 PHP 实现,下面详细讲解如何通过 PHP 实现通过 FTP 上传文件。 安装 FTP 扩展 在 PHP 中实现 FTP 上传文件需要安装 FTP 扩展,并在 PHP 配置文件中启用该扩展。如果您使用的是 Linux 系统,则可以通过以下命令安装 FTP 扩展: …

    PHP 2023年5月26日
    00
  • php学习之简单计算器实现代码

    下面就是“php学习之简单计算器实现代码”的完整攻略: 1. 简述 本文介绍如何用PHP实现一个简单的计算器。通过本文的学习,读者可以了解如何使用PHP变量、函数和表单等基础知识,来实现一个简单的计算器程序。 2. 实现过程 2.1. 基础知识 在开始编写计算器代码之前,需要了解一些基础知识: 2.1.1. PHP变量 PHP变量用于存储数据,并且可以在程序…

    PHP 2023年5月24日
    00
  • PHP利用str_replace防注入的方法

    当用户提交表单等交互动作时,为了防止SQL注入等安全问题,应该对用户输入的数据进行过滤和转义,其中PHP中的str_replace函数是一种基础的过滤和转义方法。 在使用str_replace函数时,需要注意以下几点: 1.参数说明 该函数的参数较为简单,一般包含三个参数: $search:被搜索的字符或数组。 $replace:用于替换搜索到的字符或数组。…

    PHP 2023年5月26日
    00
  • PHP实现页面静态化深入讲解

    下面我将详细讲解“PHP实现页面静态化深入讲解”的完整攻略。 什么是页面静态化 页面静态化,即将动态生成的网页内容转换为静态HTML文件,这样一来,用户在访问该网站时,直接访问静态HTML文件,而不需要再经过后台的渲染和计算等操作,从而大大提高了网页的访问速度。 PHP实现页面静态化的方式 PHP实现页面静态化有多种方式,下面我将介绍其中的两种: 1. 使用…

    PHP 2023年5月26日
    00
  • php增删改查示例自己写的demo

    下面我将为您详细讲解“php增删改查示例自己写的demo”的完整攻略。 1. 初步搭建环境 首先,我们需要搭建一个PHP开发环境,例如使用Apache服务器和MySQL数据库。您可能需要安装相关工具和扩展,例如PHP、MySQL、phpMyAdmin等。搭建好环境后,您可以创建一个用于测试的MySQL数据库,并创建一个名为“demo”的数据表: CREATE…

    PHP 2023年5月24日
    00
  • PHP开发API接口签名生成及验证操作示例

    PHP开发API接口签名生成及验证操作示例 API接口签名是一种通过对 API 请求参数进行签名来确保 API 请求合法性的技术。在 API 请求参数中添加签名并发送至服务端后,服务端可以验证此签名是否合法。 什么是API接口签名 API接口签名是对请求数据进行MD5或SHA1加密的过程,并将加密结果作为请求参数之一提交到服务器端,服务器端对请求的签名进行验…

    PHP 2023年5月26日
    00
  • 详解PHP如何读取大文件

    以下是详解PHP如何读取大文件的完整攻略。 1. 背景介绍 当我们在处理大文件时,通常我们需要把它读取到内存中,然后进行处理。但是,如果文件太大,我们将面临内存不足的风险。因此,读取大文件时,我们需要采用一些特殊的策略,从而避免出现内存不足的问题。 2. 读取大文件的攻略 2.1 分段读取大文件 分段读取大文件是一种常见的策略。可以实现在读取文件时分段提取要…

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