当前位置: 首页 > news >正文

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

效果图

相关文章:

PHPExcel导出excel

PHPExcel下载地址 https://gitee.com/mirrors/phpexcelhttps://github.com/PHPOffice/PHPExcel 下载后目录结构 需要的文件如下图所示 将上面的PHPExcel文件夹和PHPExcel.php复制到你需要的地方 这是一个简单的示例代码 <?php$dir dirname(__FILE__); //require_once …...

ubuntu系统下c++ cmakelist vscode debug(带传参的debug)的详细示例

c和cmake的debug&#xff0c;网上很多都需要配置launch.json&#xff0c;cpp.json啥的&#xff0c;记不住也太复杂了&#xff0c;我这里使用cmake插件带有的设置&#xff0c;各位可以看一看啊✌(不知不觉&#xff0c;竟然了解了vscode中配置文件的生效逻辑&#x1f923;) 克隆…...

聊聊JIT优化技术

&#x1f3ac;作者简介&#xff1a;大家好&#xff0c;我是小徐&#x1f947;☁️博客首页&#xff1a;CSDN主页小徐的博客&#x1f304;每日一句&#xff1a;好学而不勤非真好学者 &#x1f4dc; 欢迎大家关注&#xff01; ❤️ 我们知道&#xff0c;想要把高级语言转变成计算…...

LabVIEW动平衡测试与振动分析系统

LabVIEW动平衡测试与振动分析系统 介绍了利用LabVIEW软件和虚拟仪器技术开发一个动平衡测试与振动分析系统。该系统旨在提高旋转机械设备的测试精度和可靠性&#xff0c;通过精确测量和分析设备的振动数据&#xff0c;以识别和校正不平衡问题&#xff0c;从而保证机械设备的高…...

《低功耗方法学》翻译——附录B:UPF命令语法

附录B&#xff1a;UPF命令语法 本章介绍了文本中引用的所选UPF命令的语法。 节选自“统一电源格式&#xff08;UPF&#xff09;标准&#xff0c;1.0版”&#xff0c;经该Accellera许可复制。版权所有&#xff1a;(c)2006-2007。Accellera不声明或代表摘录材料的准确性或内容&…...

Leetcode 3027. Find the Number of Ways to Place People II

Leetcode 3027. Find the Number of Ways to Place People II 1. 解题思路2. 代码实现 题目链接&#xff1a;3027. Find the Number of Ways to Place People II 1. 解题思路 这一题的话我也没想到啥特别好的思路&#xff0c;采用的纯粹是遍历剪枝的思路。 遍历的话好理解&…...

android inset 管理

目录 简介 Insets管理架构 Insets相关类图 app侧的类 WMS侧的类 inset show的流程 接口 流程 WMS侧确定InsetsSourceControl的流程 两个问题 窗口显示时不改变现有的inset状态 全屏窗口上的dialog 不显示statusbar问题 View 和 DecorView 设置insets信息 输入法显…...

Python中使用opencv-python库进行颜色检测

Python中使用opencv-python库进行颜色检测 之前写过一篇VC中使用OpenCV进行颜色检测的博文&#xff0c;当然使用opencv-python库也可以实现。 在Python中使用opencv-python库进行颜色检测非常简单&#xff0c;首选读取一张彩色图像&#xff0c;并调用函数imgHSV cv2.cvtColor…...

如何修改远程端服务器密钥

前言 一段时间没改密码后&#xff0c;远程就会自动提示CtrlAltEnd键修改密码。但我电脑是笔记本&#xff0c;没有end键。打开屏幕键盘按这三个键也没用。 解决方法 打开远程 1、远程端WINC 输入osk 可以发现打开了屏幕键盘 2、电脑键盘同时按住CtrlAlt&#xff08;若自身电…...

lnmp指令

LNMP官网&#xff1a;https://lnmp.org 作者: licess adminlnmp.org 问题反馈&技术支持论坛&#xff1a;https://bbs.vpser.net/forum-25-1.html 打赏捐赠&#xff1a;https://lnmp.org/donation.html 自定义参数 lnmp.conf配置文件&#xff0c;可以修改lnmp.conf自定义下…...

Go语言每日一题——链表篇(七)

传送门 牛客面试笔试必刷101题 ----------------删除链表的倒数第n个节点 题目以及解析 题目 解题代码及解析 解析 这一道题与昨天的题目在解题思路上有一定的相似之处&#xff0c;都是基于双指针定义快慢指针&#xff0c;这里我们让快指针先走n步&#xff0c;又因为n一定…...

【stomp实战】websocket原理解析与简单使用

一、WebSocket 原理 WebSocket是HTML5提供的一种浏览器与服务器进行全双工通讯的网络技术&#xff0c;属于应用层协议。它基于TCP传输协议&#xff0c;并复用HTTP的握手通道。浏览器和服务器只需要完成一次握手&#xff0c;两者之间就直接可以创建持久性的连接&#xff0c; 并…...

2024.1.30力扣每日一题——使循环数组所有元素相等的最少秒数

2024.1.30 题目来源我的题解方法一 暴力模拟&#xff08;无法通过&#xff09;方法二 哈希表数学 题目来源 力扣每日一题&#xff1b;题序&#xff1a;2808 我的题解 方法一 暴力模拟&#xff08;无法通过&#xff09; 直接暴力枚举。记录每一个元素所在的位置&#xff0c;然…...

【Java万花筒】数据魔术师:探索Java商业智能与数据可视化

开发者的数据魔杖&#xff1a;掌握Java商业智能工具的秘诀 前言 在当今信息爆炸的时代&#xff0c;数据已经成为企业决策和业务发展的重要驱动力。为了更好地理解和利用数据&#xff0c;商业智能&#xff08;BI&#xff09;和数据可视化工具变得至关重要。本文将介绍几种基于…...

python用yaml装参数并支持命令行修改

效果&#xff1a; 将实验用的参数写入 yaml 文件&#xff0c;而不是全部用 argparse 传&#xff0c;否则命令会很长&#xff1b;同时支持在命令行临时加、改一些参数&#xff0c;避免事必要在 yaml 中改参数&#xff0c;比较灵活&#xff08;如 grid-search 时遍历不同的 loss…...

第59讲订单数据下拉实现

import com.baomidou.mybatisplus.extension.plugins.pagination.Page;/*** 订单查询 type值 0 全部订单 1待付款 2 待收货 3 退款/退货* param type* return*/RequestMapping("/list")public R list(Integer type,Integer page,Integer pageSize){System.out.pri…...

[当人工智能遇上安全] 11.威胁情报实体识别 (2)基于BiGRU-CRF的中文实体识别万字详解

您或许知道&#xff0c;作者后续分享网络安全的文章会越来越少。但如果您想学习人工智能和安全结合的应用&#xff0c;您就有福利了&#xff0c;作者将重新打造一个《当人工智能遇上安全》系列博客&#xff0c;详细介绍人工智能与安全相关的论文、实践&#xff0c;并分享各种案…...

16:定时器和计数器

定时器和计数器 1、定时器和计数器的介绍2、定时器是如何工作3、寄存器4、51单片机定时器简介&#xff08;数据手册&#xff09;5、定时器中的寄存器&#xff08;数据手册&#xff09;5.1、TCON&#xff08;定时器控制寄存器&#xff09;5.2、TMOD&#xff08;工作模式寄存器&a…...

c#通过ExpressionTree 表达式树实现对象关系映射

//反射expression实现对象自动映射 void Main() {Person p1new(){Id1,Name"abc"};var persondto p1.MapTo<Person, PersonDto>();Console.WriteLine($"id:{persondto.Id}-name:{persondto.Name}"); }public static class AutoMapperExs { public s…...

《动手学深度学习(PyTorch版)》笔记7.2

注&#xff1a;书中对代码的讲解并不详细&#xff0c;本文对很多细节做了详细注释。另外&#xff0c;书上的源代码是在Jupyter Notebook上运行的&#xff0c;较为分散&#xff0c;本文将代码集中起来&#xff0c;并加以完善&#xff0c;全部用vscode在python 3.9.18下测试通过&…...

你好吗吗吗吗吗

我真好...

LibreOffice无界面转换实战:用Python在Linux服务器实现DOCX批量转PDF

LibreOffice无界面转换实战&#xff1a;用Python在Linux服务器实现DOCX批量转PDF 在当今企业级文档处理流程中&#xff0c;自动化转换办公文档格式已成为提升效率的关键环节。对于部署在Linux服务器上的文档处理系统而言&#xff0c;如何在不依赖图形界面的情况下&#xff0c;稳…...

SwiftDate内存泄漏排查指南:5个Closure与委托模式最佳实践

SwiftDate内存泄漏排查指南&#xff1a;5个Closure与委托模式最佳实践 【免费下载链接】SwiftDate &#x1f414; Toolkit to parse, validate, manipulate, compare and display dates, time & timezones in Swift. 项目地址: https://gitcode.com/gh_mirrors/sw/SwiftD…...

Phi-3-Mini-128K应用场景:新能源电池BMS固件日志智能归因与故障预测

Phi-3-Mini-128K应用场景&#xff1a;新能源电池BMS固件日志智能归因与故障预测 想象一下&#xff0c;你是一家新能源车企的BMS&#xff08;电池管理系统&#xff09;软件工程师。凌晨三点&#xff0c;你的手机响了&#xff0c;生产线告警&#xff1a;一批电池包的固件在测试中…...

深度拆解 JDK1.8 ConcurrentHashMap 核心方法:从 put 到扩容,彻底吃透并发神器

在 Java 高并发编程中&#xff0c;ConcurrentHashMap是线程安全 Map 的绝对首选&#xff0c;而 JDK1.8 版本对它的重构堪称并发设计的巅峰之作 —— 彻底抛弃分段锁&#xff0c;用CAS 桶级 synchronized实现极致细粒度并发&#xff0c;搭配多线程协同扩容、链表红黑树转换、高…...

当服务器内存足够大时:为什么我建议你在CentOS 8上彻底禁用Swap?

大内存时代&#xff1a;CentOS 8禁用Swap的云原生性能优化实践 在云计算与容器化技术席卷全球的今天&#xff0c;服务器硬件配置正经历着革命性变化。128GB、256GB甚至TB级内存已成为现代服务器的标配&#xff0c;而传统Linux内存管理机制中的Swap分区在这种新硬件环境下是否还…...

避坑指南:在华为云上为Python老项目配置代码检查与自动化构建(以Flask应用为例)

避坑指南&#xff1a;在华为云上为Python老项目配置代码检查与自动化构建&#xff08;以Flask应用为例&#xff09; 当我们需要将一个遗留的Python项目迁移到现代化开发流程时&#xff0c;往往会遇到各种"历史包袱"。本文将以一个从Python 2.7升级到3.7的Flask应用为…...

OpenRocket:重新定义模型火箭设计与仿真的开源力量

OpenRocket&#xff1a;重新定义模型火箭设计与仿真的开源力量 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 核心价值&#xff1a;破解模型火箭开发的效…...

页游党必看!传奇、篮球、策略全都有,点击即玩

对于喜欢玩网页游戏的朋友来说&#xff0c;找一个靠谱、福利多、游戏全的平台太重要了&#xff01;不用下载、点击即玩&#xff0c;还能安心挂机不担心跑路&#xff0c;这样的平台才是真刚需&#xff5e; 今天就给大家安利一个深耕页游十余载的老牌平台——602游戏平台&#x…...

嵌入式系统的实时性能优化详解

嵌入式系统的实时性能优化详解 实时系统概述 实时系统是指能够在规定的时间内完成特定任务的系统&#xff0c;其正确性不仅取决于计算结果的正确性&#xff0c;还取决于结果产生的时间。在嵌入式系统中&#xff0c;实时性能优化至关重要。 实时系统分类 硬实时系统&#xf…...