php如何读取Excel数据并导入数据库

这篇文章主要介绍了php如何读取Excel数据并导入数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何读取Excel数据并导入数据库文章都会有所收获,下面我们一起来看看吧。

创新互联公司是一家集网站建设,环翠企业网站建设,环翠品牌网站建设,网站定制,环翠网站建设报价,网络营销,网络优化,环翠网站推广为一体的创新建站企业,帮助传统企业提升企业形象加强企业竞争力。可充分满足这一群体相比中小企业更为丰富、高端、多元的互联网需求。同时我们时刻保持专业、时尚、前沿,时刻以成就客户成长自我,坚持不断学习、思考、沉淀、净化自己,让我们为更多的企业打造出实用型网站。

  1. 安装 PHPExcel

PHPExcel是一个用于读取和处理Excel文件的PHP库。您可以从官方网站下载PHPExcel库,也可以使用Composer安装。使用Composer的话,只需要在composer.json文件中添加以下代码即可:

{
    "require": {
        "phpoffice/phpexcel": "1.8.*"
    }
}

在命令行中执行composer update命令,Composer将自动安装PHPExcel库。

  1. 创建Excel文件

在导入Excel数据之前,您需要有一个Excel文件。您可以通过Microsoft Excel等软件创建一个Excel文件。注意,您需要将Excel文件保存为.xls或.xlsx格式。另外,Excel文件的第一行应该是表头,即列名称。例如:

IDNameAgeEmail
1John25john@gmail.com
2Mary30mary@yahoo.com
3David35david@outlook.com
  1. 读取Excel文件

使用PHPExcel读取Excel文件很简单。只需要按照以下步骤操作:

require_once 'vendor/autoload.php'; // 引入PHPExcel库

$path = 'example.xlsx'; // Excel文件路径

// 创建PHPExcel对象
$excel = PHPExcel_IOFactory::load($path);

// 获取Excel的第一个工作表
$sheet = $excel->getActiveSheet();

// 获取工作表中的行数和列数
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn();

// 遍历每一行
for ($row = 2; $row <= $highestRow; $row++) {
    // 获取每一行的数据
    $id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
    $name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
    $age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
    $email = $sheet->getCellByColumnAndRow(3, $row)->getValue();

    // 在此处可以将行数据插入到数据库中
}

在以上示例中,我们使用PHPExcel库的load()方法创建PHPExcel对象,并从Excel文件中加载数据。然后,我们获取Excel文件的第一个工作表,并使用getHighestRow()getHighestColumn()方法获取行数和列数。最后,我们遍历每一行,使用getCellByColumnAndRow()方法获取每一行的单元格数据,并将其插入到数据库中。

  1. 数据库插入

将Excel文件中的数据插入到数据库中,可以使用SQL INSERT语句。因此,您需要首先连接到数据库,然后将数据插入到数据库中。

// 连接到数据库
$servername = "localhost";
$username = "username";
$password = "password";
$dbname = "myDB";

$conn = new MySQLi($servername, $username, $password, $dbname);

if ($conn->connect_error) {
    die("Connection failed: " . $conn->connect_error);
}

// 插入数据到数据库中
for ($row = 2; $row <= $highestRow; $row++) {
    $id = $sheet->getCellByColumnAndRow(0, $row)->getValue();
    $name = $sheet->getCellByColumnAndRow(1, $row)->getValue();
    $age = $sheet->getCellByColumnAndRow(2, $row)->getValue();
    $email = $sheet->getCellByColumnAndRow(3, $row)->getValue();

    $sql = "INSERT INTO myTable (id, name, age, email)
            VALUES ('$id', '$name', '$age', '$email')";

    if ($conn->query($sql) === TRUE) {
        echo "New record created successfully";
    } else {
        echo "Error: " . $sql . "
" . $conn->error;     } } $conn->close(); // 关闭数据库连接

在以上示例中,我们使用mysqli连接到MySQL数据库。在每一行数据中,我们使用SQL INSERT语句将数据插入到myTable表中。如果插入成功,我们将会看到“New record created successfully”的消息,否则将会输出错误信息。

关于“php如何读取Excel数据并导入数据库”这篇文章的内容就介绍到这里,感谢各位的阅读!相信大家对“php如何读取Excel数据并导入数据库”知识都有一定的了解,大家如果还想学习更多知识,欢迎关注创新互联行业资讯频道。


分享名称:php如何读取Excel数据并导入数据库
转载来源:http://myzitong.com/article/giegpj.html