PHPExcel导出excel

PHPExcel下载地址

https://gitee.com/mirrors/phpexcel
https://github.com/PHPOffice/PHPExcel

下载后目录结构

需要的文件如下图所示

将上面的PHPExcel文件夹和PHPExcel.php复制到你需要的地方

这是一个简单的示例代码

<?php

$dir = dirname(__FILE__);
//require_once $dir.'/db.php';
require_once $dir.'/PHPExcel.php';

$localhost='127.0.0.1';
$username='root';
$password='rootroot';
$database = 'laravel-admin';

try {
    $con = new PDO("mysql:host=$localhost;dbname=$database;charset=utf8", $username, $password);
    // 设置错误模式为异常
    $con->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);

} catch (PDOException $exception) {
    echo "Connection failed: " . $exception->getMessage();
    exit;
}

$sql = "SELECT grade,class,score,student FROM grade WHERE grade = ? order by id asc limit 10 ";
$stmt = $con->prepare($sql);

// 绑定参数并执行查询
$stmt->execute([1]);

if ($stmt) {
    $result = $stmt->fetchAll(PDO::FETCH_ASSOC);

}
//var_dump($result);exit();
//header('Content-Type: application/vnd.ms-excel');
header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;');
header('Content-Disposition: attachment;filename="'.date('YmdHis').'.xlsx');
header('Cache-Control: max-age=0');//禁止缓存 // 确保输出缓冲区是空的
ob_clean();
$arr  = range('A','Z');
//
$objPHPExcel = new  PHPExcel();

$objPHPExcel->setActiveSheetIndex(0);
$objSheet = $objPHPExcel->getActiveSheet()->setTitle('成绩单');//获取活动工作表并且设置标题
// 假设我们要合并A1到D1的单元格
$range = 'A1:B1'; // 要合并的单元格范围
$objSheet->mergeCells($range);
// 设置A1单元格的内容并将其格式设为文本
$longNumber = '12345678901234567890'; // 假设这是你的长数字
// $objSheet->setCellValueExplicit('A1', $longNumber, PHPExcel_Cell_DataType::TYPE_STRING);
// 或者先设置单元格为文本格式再写入数据
$objSheet->getStyle('A1')->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT);
$objSheet->setCellValue('A1', $longNumber); // 此时可以不使用setCellValueExplicit
// 设置合并后单元格的内容
// $objSheet->setCellValue('A1', '合并后的单元格内容');
$objSheet->setCellValue('C1','分数')->setCellValue('D1','学生');

$objPHPExcel->createSheet();//创建新的工作表
$objPHPExcel->setActiveSheetIndex(1);// 选择新创建的工作表作为活动工作表
$objPHPExcel->getActiveSheet()->setTitle('sheet2');//给工作表设置名称
// 如果需要设置数据
$objPHPExcel->getActiveSheet()->setCellValue('A1', 'Hello');
$objPHPExcel->getActiveSheet()->setCellValue('B2', 'World');





/*
$index = 2;
foreach ($result as $key=>$value)
{
    $num =0;
   foreach ($value as $k =>$item){
       $objSheet->setCellValue($arr[$num].($index),$item);
// var_dump();
//       echo "<pre>";
//       print_r($item);
       $num++;
   }
//   echo '<br/>';
           $index++;

}
*/
// //
// $objWriter= PHPExcel_IOFactory::createWriter($objPHPExcel,'Excel5');
// $objWriter->save('php://output');

// 保存Excel文件
$objWriter = PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel2007'); // 或者 'Excel5' 对应旧版Excel格式
$objWriter->save('php://output'); // 将文件输出到浏览器上

// 如果不再需要,释放内存
$objPHPExcel->disconnectWorksheets();
unset($objPHPExcel);

效果图

相关推荐

  1. excel导入导出

    2024-02-09 07:02:02       38 阅读
  2. 导出excel

    2024-02-09 07:02:02       24 阅读
  3. 解决PHPExcel导出一万行以上数据变空白的问题

    2024-02-09 07:02:02       55 阅读
  4. Excel 导入导出的封装

    2024-02-09 07:02:02       37 阅读
  5. hutool ExcelUtil 导出导入excel

    2024-02-09 07:02:02       30 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-09 07:02:02       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-09 07:02:02       106 阅读
  3. 在Django里面运行非项目文件

    2024-02-09 07:02:02       87 阅读
  4. Python语言-面向对象

    2024-02-09 07:02:02       96 阅读

热门阅读

  1. Apache Flink

    2024-02-09 07:02:02       47 阅读
  2. Chapter 8 - 7. Congestion Management in TCP Storage Networks

    2024-02-09 07:02:02       51 阅读
  3. Python爬虫 pyquery库详解

    2024-02-09 07:02:02       45 阅读
  4. SQL、Hive中的SQL和Spark中的SQL三者联系与区别

    2024-02-09 07:02:02       60 阅读
  5. Go Context -- 管理请求的上下文信息

    2024-02-09 07:02:02       49 阅读
  6. Golang开发:跨域配置

    2024-02-09 07:02:02       52 阅读