PHPExcel导出excel

news2024/11/15 7:56:38

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);

效果图

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1440689.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

低成本高利润:小区开店的最佳选择

作为一位在鲜奶吧行业摸爬滚打5年的创业者&#xff0c;我深知在小区内开店&#xff0c;选择什么项目能够实现低成本高利润。今天&#xff0c;我就为大家揭秘这个稳赚不亏的创业秘籍——鲜奶吧。 一、鲜奶吧&#xff1a;小区内的健康饮品专家 鲜奶吧以其新鲜、健康、营养的特点…

Java图形化界面编程——Container容器 笔记

2.3 Container容器 2.3.1 Container继承体系 Winow是可以独立存在的顶级窗口,默认使用BorderLayout管理其内部组件布局;Panel可以容纳其他组件&#xff0c;但不能独立存在&#xff0c;它必须内嵌其他容器中使用&#xff0c;默认使用FlowLayout管理其内部组件布局&#xff1b;S…

ZooKeeper安装及配置(Windows版)

步骤&#xff1a; 1.官网下载二进制版本ZooKeeper安装包。 2.解压到你要安装的目录下 3.配置 3.1进入目录 D:\Install\apache-zookeeper-3.9.1-bin 新增两个文件夹&#xff1a;data和log 3.2 进入目录D:\Install\apache-zookeeper-3.9.1-bin\conf 复制zoo_sample.cfg文件&a…

第二讲:数据结构 AcWing 826. 单链表

目录 数组模拟链表数组模拟单链表 单链表思路 && 代码 看图更好理解推荐一下y总的刷题网站 数组模拟链表 笔试的题目大部分 大部分涉及到链表都是十万级别的 用数组的方式创建链表速度很快&#xff0c;不会超时&#xff0c;而如果用new 一个结构体的话 大部分就是比较…

基于微信小程序的校园二手交易平台

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝12w、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取源码联系&#x1f345; &#x1f447;&#x1f3fb; 精彩专栏推荐订阅&#x1f447;…

在Linux系统中设置全局HTTP代理的步骤与技巧

在Linux系统中&#xff0c;设置全局HTTP代理可以方便我们统一管理和控制网络请求。这不仅可以帮助我们加速网络访问&#xff0c;还可以在某些情况下绕过网络限制或实现匿名上网。下面&#xff0c;我将为你详细介绍在Linux系统中设置全局HTTP代理的步骤与技巧。 步骤一&#xf…

SSM框架,Spring-ioc的学习(上)

知识点引入 关于框架 框架( Framework )是一个集成了基本结构、规范、设计模式、编程语言和程序库等基础组件的软件系统&#xff0c;它可以用来构建更高级别的应用程序。框架的设计和实现旨在解决特定领域中的常见问题&#xff0c;帮助开发人员更高效、更稳定地实现软件开发目…

wyh的迷宫

涉及知识点&#xff1a;求迷宫能否到达终点的&#xff0c;而不是求路径数的&#xff0c;用bfs时可以不用重置状态数组&#xff08;回溯&#xff09;。 题目描述 给你一个n*m的迷宫&#xff0c;这个迷宫中有以下几个标识&#xff1a; s代表起点 t代表终点 x代表障碍物 .代…

山西电力市场日前价格预测【2024-02-08】

日前价格预测 预测说明&#xff1a; 如上图所示&#xff0c;预测明日&#xff08;2024-02-08&#xff09;山西电力市场全天平均日前电价为200.58元/MWh。其中&#xff0c;最高日前电价为347.58元/MWh&#xff0c;预计出现在07:00。最低日前电价为0.00元/MWh&#xff0c;预计出…

信息安全省赛杂项题解题思路

task1 直接查看文件属性即可得到 flag task2 载入 HxD 中&#xff0c;搜索 flag 即可得到 task3 也是同样的操作&#xff0c;载入 HxD 中搜索 flag task4 打开题目的压缩包发现被加密了&#xff0c;这个题目的标题提示的很明显&#xff0c;就是四位数加密 四位数加密的 zip…

爪哇部落算法组2024新生赛热身赛题解

第一题&#xff08;签到&#xff09;&#xff1a; 1、题意&#xff1a; 2、题解: 我们观察到happynewyear的长度是12个字符&#xff0c;我们直接从前往后遍历0到n - 12的位置&#xff08;这里索引从0开始&#xff09;&#xff0c;使用C的substr()函数找到以i开头的长度为12的字…

新增C++max函数的使用

在 C 中&#xff0c;max函数是标准库中的一个函数&#xff0c;用于返回两个或多个元素中的最大值。max函数的声明如下&#xff1a; cpp #include <algorithm>template<class T> const T& max(const T& a, const T& b);这个函数接受两个同类型的参数a…

Qt网络编程-写一个简单的网络调试助手

环境 Windows&#xff1a;Qt5.15.2&#xff08;VS2022&#xff09; Linux&#xff1a;Qt5.12.12&#xff08;gcc) 源代码 TCP服务器 头文件&#xff1a; #ifndef TCPSERVERWIDGET_H #define TCPSERVERWIDGET_H #include <QWidget> namespace Ui { class TCPServerW…

Java学习17-- super类

重点&#xff1a;super类 & 方法重写 super类 super指的是本级的上一级&#xff0c;即father class父类 很好理解&#xff0c;比如Person class>Student class 当前在Student class执行&#xff0c;那么就写this.xxx 需要在Student程序里面调用Person&#xff0c;那就…

L3HCTF 2024

Check in 输入一个1就获得flag

打印斐波那契数列

定义&#xff1a; 斐波那契数列是指这样一个数列&#xff1a;1&#xff0c;1&#xff0c;2&#xff0c;3&#xff0c;5&#xff0c;8&#xff0c;13&#xff0c;21&#xff0c;34&#xff0c;55&#xff0c;89……这个数列从第3项开始 &#xff0c;每一项都等于前两项之和。 …

【复现】九思OA系统 SQL注入漏洞_43

目录 一.概述 二 .漏洞影响 三.漏洞复现 1. 漏洞一&#xff1a; 四.修复建议&#xff1a; 五. 搜索语法&#xff1a; 六.免责声明 一.概述 九思软件自主研发的iThink协同OA办公自动化系统是面向中高端企业、政府机关和事业单位、等大型企业的协同办公软件&#xff0c;面…

QLabel重绘实现圆角矩形图片/文本和图片同时显示

QLabel一般用于显示一段文字&#xff0c;这段文字可以被鼠标选中/复制&#xff0c;也可是设置自动换行等&#xff0c;还可以用于显示图片。 但是使用QLabel显示图片时&#xff0c;qss样式设置的圆角radius属性是不生效的。 QLabel显示纯文本时&#xff0c;设置了背景颜色后&a…

Vue3.0(五):Vue-Router 4.x详解

Vue-Router详解 vue-router教程 认识前端路由 路由实际上是网络工程中的一个术语 在架构一个网络的时候&#xff0c;常用到两个很重要的设备—路由器和交换机路由器实际上就是分配ip地址&#xff0c;并且维护着ip地址与电脑mac地址的映射关系通过映射关系&#xff0c;路由器…

【Godot4.2】文件系统自定义控件 - GroupButtons

GroupButtons 概述 读者朋友们好&#xff0c;我是巽星石&#xff0c;这是我的Godot4.2文件系统自定义控件系列文章。 在很多程序或插件设计中&#xff0c;都会用到一堆按钮的形式&#xff0c;好处是比较直观&#xff0c;用啥点啥&#xff0c;本质上相当于一个简化的二级树形…