要使用原生 PHP 使用 PHPExcel 读取 Excel 数据并批量上传到数据库,你可以按照以下步骤进行操作:
首先,确保你已经安装了 PHPExcel 库。你可以从官方网站下载并解压该库,然后将其包含到你的 PHP 项目中。
创建一个 PHP 文件,命名为 upload.php
(或者你喜欢的其他名称),用于处理上传文件和将数据插入到数据库中。
在 upload.php
文件中,使用以下代码来处理上传的 Excel 文件和将数据插入到数据库中:
<?php
// 包含 PHPExcel 库
require_once 'PHPExcel/PHPExcel.php';
// 获取上传的文件
$uploadedFile = $_FILES['excel_file']['tmp_name'];
// 创建 PHPExcel 实例
$excel = PHPExcel_IOFactory::load($uploadedFile);
// 获取第一个工作表
$sheet = $excel->getActiveSheet();
// 获取最大行数和最大列数
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();
// 连接数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "database";
$conn = new mysqli($servername, $username, $password, $dbname);
// 检查数据库连接是否成功
if ($conn->connect_error) {
die("数据库连接失败: " . $conn->connect_error);
}
// 遍历每一行,将数据插入到数据库中
for ($row = 2; $row <= $highestRow; $row++) {
$rowData = $sheet->rangeToArray('A' . $row . ':' . $highestColumn . $row, NULL, TRUE, FALSE);
// 将数据插入到数据库中
$sql = "INSERT INTO your_table_name (column1, column2, column3) VALUES ('" . $rowData[0][0] . "', '" . $rowData[0][1] . "', '" . $rowData[0][2] . "')";
if ($conn->query($sql) === TRUE) {
echo "数据插入成功";
} else {
echo "数据插入失败: " . $conn->error;
}
}
// 关闭数据库连接
$conn->close();
?>
请注意,上述代码中的 your_table_name
应该替换为你的数据库表的名称,以及 column1
、column2
、column3
应该替换为你的数据库表的列名。
enctype
属性为 multipart/form-data
,以便能够上传文件。<!DOCTYPE html>
<html>
<head>
<title>上传 Excel 文件</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="excel_file" accept=".xls, .xlsx">
<input type="submit" value="上传">
</form>
</body>
</html>
index.html
文件,并将其放置在与 upload.php
文件相同的目录下。现在,当你访问 index.html
文件时,你将看到一个包含文件上传表单的页面。选择一个 Excel 文件并点击 "上传" 按钮,该文件将被上传到服务器,并且其中的数据将被插入到数据库中。
上一篇:用php入门网络编程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站