加入收藏 | 设为首页 | 会员中心 | 我要投稿 南京站长网 (https://www.025zz.cn/)- 智能边缘云、设备管理、数据工坊、研发安全、容器安全!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

php上查询及导出excel的方法是什么

发布时间:2023-07-31 11:32:21 所属栏目:PHP教程 来源:网络
导读:   这篇文章主要介绍“php查询及导出excel的方法是什么”,在日常操作中,相信很多人在php查询及导出excel的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操
  这篇文章主要介绍“php查询及导出excel的方法是什么”,在日常操作中,相信很多人在php查询及导出excel的方法是什么问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”php查询及导出excel的方法是什么”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
 
  一、PHP查询数据库
 
  在PHP中,查询数据库并获取数据的过程,需要先连接数据库,然后选择数据库,最后是执行SQL语句。与普通的SQL语句相比,PHP中的SQL语句需要进行转义以防止SQL注入攻击。
 
  连接数据库的函数为mysqli_connect(),包含四个参数,分别是:主机名、用户名、密码和数据库名。如果连接失败会返回false,否则会返回一个数据库连接对象。
 
  $conn = mysqli_connect($servername, $username, $password, $dbname);
 
  if (!$conn) {
 
      die("Connection failed: " . mysqli_connect_error());
 
  }
 
  选择数据库的函数为mysqli_select_db(),包含两个参数,分别是:数据库连接对象和数据库名。
 
  mysqli_select_db($conn, $dbname);
 
  执行SQL语句的函数为mysqli_query(),包含两个参数,分别是:数据库连接对象和SQL语句。
 
  $sql = "SELECT * FROM `table1`";
 
  $result = mysqli_query($conn, $sql);
 
  执行完以上三个步骤,$result对象将包含所有查询到的数据。
 
  二、PHP导出Excel
 
  PHP导出Excel有多种方法,本文介绍其中一种较为简单的方法。处理Excel需要用到PHPExcel库,需要先安装该库才能进行Excel文件的读写操作。
 
  可以通过Composer安装PHPExcel库:
 
  composer require phpoffice/phpexcel
 
  或者手动下载最新版本压缩包:
 
  https://github.com/PHPOffice/PHPExcel/releases
 
  解压后将Classes文件夹放到项目目录中,然后引入PHPExcel库:
 
  require_once 'Classes/PHPExcel.php';
 
  Excel表格主要是由“工作簿”、“工作表”和“单元格”三个部分组成。PHPExcel中封装了很多类和方法,可以轻松地创建、编辑和保存Excel表格。以下是一个简单的例子:
 
  //创建PHPExcel对象
 
  $objPHPExcel = new PHPExcel();
 
  //设置工作簿属性
 
  $objPHPExcel->getProperties()
 
      ->setCreator("Creator")
 
      ->setLastModifiedBy("Last Modified By")
 
      ->setTitle("Title")
 
      ->setSubject("Subject")
 
      ->setDescription("Description")
 
      ->setKeywords("keywords")
 
      ->setCategory("Category");
 
  //创建工作表
 
  $objPHPExcel->setActiveSheetIndex(0);
 
  $objPHPExcel->getActiveSheet()->setTitle('Sheet1');
 
  //添加表头
 
  $objPHPExcel->getActiveSheet()->setCellValue('A1', 'ID');
 
  $objPHPExcel->getActiveSheet()->setCellValue('B1', 'Name');
 
  $objPHPExcel->getActiveSheet()->setCellValue('C1', 'Age');
 
  $objPHPExcel->getActiveSheet()->setCellValue('D1', 'Gender');
 
  //循环添加数据
 
  $i = 2;
 
  while ($row = mysqli_fetch_assoc($result)) {
 
      $objPHPExcel->getActiveSheet()->setCellValue('A' . $i, $row['id']);
 
      $objPHPExcel->getActiveSheet()->setCellValue('B' . $i, $row['name']);
 
      $objPHPExcel->getActiveSheet()->setCellValue('C' . $i, $row['age']);
 
      $objPHPExcel->getActiveSheet()->setCellValue('D' . $i, $row['gender']);
 
      $i++;
 
  }
 
  //设置列宽度
 
  $objPHPExcel->getActiveSheet()->getColumnDimension('B')->setWidth(20);
 
  $objPHPExcel->getActiveSheet()->getColumnDimension('C')->setWidth(10);
 
  //设置单元格格式
 
  $objPHPExcel->getActiveSheet()->getStyle('A1:D1')->getFont()->setBold(true);
 
  //将表格导出为Excel文件
 
  $objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007');
 
  header('Content-Type: application/vnd.ms-excel');
 
  header('Content-Disposition: attachment;filename="export.xlsx"');
 
  header('Cache-Control: max-age=0');
 
  $objWriter->save('php://output');
 
  exit;
 
  该例中,先创建了一个PHPExcel对象,设置了工作簿和工作表属性,添加了表头和数据,然后设置了列宽度和单元格格式。
 
  最后通过PHPExcel_IOFactory类中的createWriter()方法将PHPExcel对象的数据导出为Excel文件。在导出之前需设置正确的MIME类型、文件名和缓存控制头。
 

(编辑:南京站长网)

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

    推荐文章