加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_扬州站长网 (https://www.0514zz.com/)- 媒体智能、语音技术、云计算、低代码、开发者工具!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

如何读取 php数据并把数据输入数据库?

发布时间:2023-07-05 11:01:40 所属栏目:PHP教程 来源:网络
导读:   这篇文章主要介绍了php如何读取Excel数据并导入数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何读取Excel数据并导入数据库文章都会有所收
  这篇文章主要介绍了php如何读取Excel数据并导入数据库的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇php如何读取Excel数据并导入数据库文章都会有所收获,下面我们一起来看看吧。
 
  安装 PHPExcel
 
  PHPExcel是一个用于读取和处理Excel文件的PHP库。您可以从官方网站下载PHPExcel库,也可以使用Composer安装。使用Composer的话,只需要在composer.json文件中添加以下代码即可:
 
  {
 
      "require": {
 
          "phpoffice/phpexcel": "1.8.*"
 
      }
 
  }
 
  在命令行中执行composer update命令,Composer将自动安装PHPExcel库。
 
  创建Excel文件
 
  在导入Excel数据之前,您需要有一个Excel文件。您可以通过Microsoft Excel等软件创建一个Excel文件。注意,您需要将Excel文件保存为.xls或.xlsx格式。另外,Excel文件的第一行应该是表头,即列名称。例如:
 
  ID Name Age Email
 
  1 John 25 john@gmail.com
 
  2 Mary 30 mary@yahoo.com
 
  3 David 35 david@outlook.com
 
  读取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()方法获取每一行的单元格数据,并将其插入到数据库中。
 
  数据库插入
 
  将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 . "<br>" . $conn->error;
 
      }
 
  }
 
  $conn->close(); // 关闭数据库连接
 
  在以上示例中,我们使用mysqli连接到MySQL数据库。在每一行数据中,我们使用SQL INSERT语句将数据插入到myTable表中。如果插入成功,我们将会看到“New record created successfully”的消息,否则将会输出错误信息。
 

(编辑:应用网_扬州站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!