当前位置:首页 > PHP

php实现excel导入数据库

2026-01-29 00:13:35PHP

PHP实现Excel导入数据库的方法

准备工作

确保服务器已安装PHPExcel库或PhpSpreadsheet(PHPExcel的后续版本)。可通过Composer安装:

composer require phpoffice/phpspreadsheet

读取Excel文件

使用PhpSpreadsheet加载Excel文件并读取数据:

php实现excel导入数据库

require 'vendor/autoload.php';
use PhpOffice\PhpSpreadsheet\IOFactory;

$inputFileName = 'path/to/your/file.xlsx';
$spreadsheet = IOFactory::load($inputFileName);
$worksheet = $spreadsheet->getActiveSheet();

处理数据

获取工作表数据并转换为数组:

$rows = [];
foreach ($worksheet->getRowIterator() as $row) {
    $cellIterator = $row->getCellIterator();
    $cellIterator->setIterateOnlyExistingCells(false);
    $rowData = [];
    foreach ($cellIterator as $cell) {
        $rowData[] = $cell->getValue();
    }
    $rows[] = $rowData;
}

数据库连接

建立数据库连接(以MySQL为例):

php实现excel导入数据库

$dbHost = 'localhost';
$dbUser = 'username';
$dbPass = 'password';
$dbName = 'database';
$conn = new mysqli($dbHost, $dbUser, $dbPass, $dbName);
if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

数据导入

遍历数据并插入数据库:

// 假设第一行是标题,从第二行开始导入
for ($i = 1; $i < count($rows); $i++) {
    $sql = "INSERT INTO your_table (column1, column2, column3) 
            VALUES ('" . $conn->real_escape_string($rows[$i][0]) . "', 
                    '" . $conn->real_escape_string($rows[$i][1]) . "', 
                    '" . $conn->real_escape_string($rows[$i][2]) . "')";
    if (!$conn->query($sql)) {
        echo "Error: " . $sql . "<br>" . $conn->error;
    }
}
$conn->close();

注意事项

  • 文件上传需添加表单验证和安全处理
  • 大数据量导入建议分批次处理
  • 考虑使用事务确保数据完整性
  • 添加适当的错误处理和日志记录

替代方案

对于简单需求,可考虑使用CSV格式替代Excel:

$file = fopen('data.csv', 'r');
while (($line = fgetcsv($file)) !== false) {
    // 处理CSV行数据
}
fclose($file);

性能优化

  • 使用预处理语句(Prepared Statements)
  • 批量插入代替单条插入
  • 关闭自动提交模式
  • 考虑使用LOAD DATA INFILE(MySQL特有)

标签: 数据库php
分享给朋友:

相关文章

php实现打印功能

php实现打印功能

PHP实现打印功能的方法 在PHP中实现打印功能可以通过多种方式完成,包括直接输出到浏览器、生成PDF文件、调用打印机接口等。以下是几种常见的方法: 直接输出HTML内容 PHP可以通过echo或p…

php实现文件上传

php实现文件上传

文件上传的基本实现 在PHP中实现文件上传需要使用$_FILES超全局数组处理上传的文件数据。表单必须设置enctype="multipart/form-data"属性,并采用POST方法提交。 创…

php实现打印功能

php实现打印功能

PHP 实现打印功能的方法 PHP 可以通过多种方式实现打印功能,具体取决于打印的目标(如打印机、PDF、网页等)和需求(如直接打印、生成打印预览等)。以下是几种常见的实现方式: 使用 JavaSc…

git php实现

git php实现

Git 与 PHP 的集成实现 使用 PHP 执行 Git 命令 通过 PHP 的 exec()、shell_exec() 或 passthru() 函数可以直接调用 Git 命令,适用于服务器端操作…

php 实现购物车

php 实现购物车

PHP 实现购物车功能 购物车功能是电子商务网站的核心部分,可以通过 PHP 和 Session 或数据库来实现。以下是两种常见的实现方式: 使用 Session 存储购物车数据 Session 是…

php 实现文件下载

php 实现文件下载

实现文件下载的基本方法 使用 PHP 实现文件下载的核心是通过设置 HTTP 头部信息,强制浏览器将文件作为附件下载而非直接显示。以下是一个基础实现示例: $file_path = '/path/t…