php Spreadsheet 导出,PhpSpreadsheet 导出Excel

/**

* Excel 助手

* sudo composer require phpoffice/phpspreadsheet

*/

namespace CommonUtil;

use PhpOfficePhpSpreadsheetSpreadsheet;

use PhpOfficePhpSpreadsheetWriterXlsx;

use PhpOfficePhpSpreadsheetStyleAlignment;

use PhpOfficePhpSpreadsheetStyleColor;

class ExcelUtil extends CommonUtil

{

public function __construct()

{

parent::__construct();

}

/**

* 导出数据

*/

public function exportExcel($expTitle, $expCellName, $expTableData)

{

$fileName = $expTitle;

$spreadsheet = new Spreadsheet();

// 获取活动的工作空间

$worksheet = $spreadsheet->getActiveSheet();

$cellNum = count($expCellName);

$dataNum = count($expTableData);

$cellName = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 'AA', 'AB', 'AC', 'AD', 'AE', 'AF', 'AG', 'AH', 'AI', 'AJ', 'AK', 'AL', 'AM', 'AN', 'AO', 'AP', 'AQ', 'AR', 'AS', 'AT', 'AU', 'AV', 'AW', 'AX', 'AY', 'AZ');

// 合并单元格

$worksheet->mergeCells('A1:'.$cellName[$cellNum - 1] . '1');

// 设置第一格的内容

$worksheet->setCellValue('A1', $expTitle);

// 设置加粗

$worksheet->getStyle('A1')->getFont()->setBold(true);

// 设置居中

$styleArray = [

'alignment' => [

'horizontal' => Alignment::HORIZONTAL_CENTER,

],

];

$worksheet->getStyle('A1')->applyFromArray($styleArray);

// 设置颜色

$worksheet->getStyle('A1')->getFont()->getColor()->setARGB(Color::COLOR_DARKRED);

// 设置标题

$worksheet->setTitle($expTitle);

// 设置表格菜单

for ($i = 0; $i < $cellNum; $i++) {

$worksheet->setCellValue($cellName[$i] . (+2), $expCellName[$i][1]);

$worksheet->getStyle($cellName[$i] . (+2))->getFont()->setBold(true);

// 自动宽度

$worksheet->getColumnDimension($cellName[$i])->setAutoSize(true);

}

// 设置表格内容

for ($i = 0; $i < $dataNum; $i++) {

for ($j = 0; $j < $cellNum; $j++) {

$worksheet->setCellValue($cellName[$j] . ($i + 3), $expTableData[$i][$expCellName[$j][0]]);

// 支持换行

if ($expCellName[$j][2] == 1) {

$worksheet->getStyle($cellName[$j] . ($i + 3))->getAlignment()->setWrapText(true);

}

}

}

// 设置列宽为自动

// $spreadsheet->getActiveSheet()->getDefaultColumnDimension()->setWidth(20);

// $worksheet->getDefaultColumnDimension()->setAutoSize(true);

// 设置行高

$worksheet->getDefaultRowDimension()->setRowHeight(20);

header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');//告诉浏览器输出07Excel文件

//header('Content-Type:application/vnd.ms-excel');//告诉浏览器将要输出Excel03版本文件

header('Content-Disposition: attachment;filename="'.$fileName.'.xlsx"');//告诉浏览器输出浏览器名称

header('Cache-Control: max-age=0');//禁止缓存

$writer = new Xlsx($spreadsheet);

$writer->save('php://output');

}

}

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

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

相关文章

php 不同时区时间转换,在PHP中将DateTime字符串转换为不同的时区

好吧,我有以下代码$from "Asia/Manila";$to "UTC";$org_time new DateTime("2012-05-15 10:50:00");$org_time $org_time->format("Y-m-d H:i:s");$conv_time NULL;$userTimezone new DateTimeZone($from);$gmtTimezone new…

php iis ajax 无效,IIS7中Ajax.AjaxMethod无效的原因及解决方法

最近做用Ajax.AjaxMethod方法的时候&#xff0c;在asp.net的服务器下一切正常&#xff0c;用iis的时候&#xff0c;js中总是cs类找不到&#xff0c;我就郁闷了&#xff0c;折腾了大半天&#xff0c;终于找到错误原因了。因为我发布网站用的是iis7&#xff0c;所以在web.config位…

查看oracle监听服务器,处理Oracle 监听文件listener.log问题

如果连接时候变得较慢 查看Oracle日志记录&#xff0c;可能是因为此文件太大&#xff0c;超过2G&#xff0c;需要定期清理&#xff0c;(如果多用户&#xff0c;记得用root&#xff0c;可能没权限)查看listener.log&#xff1f;find / -name listener.log经查看&#xff0c;竟然…

oracle添加伪列,Oracle伪列 - jifengtang的个人空间 - OSCHINA - 中文开源技术交流社区...

在oracle10g和下&#xff0c;伪列包括如下内容&#xff1a;lHierarchical Query Pseudocolumns分级查询是oracle提供的递归查询语法&#xff0c;在这里不做展开。只有在分级查询下&#xff0c;才可以使用以下伪列&#xff1a;1.CONNECT_BY_ISCYCLE Pseudocolumn2.CONNECT_BY_IS…

美国oracle球场,美国体育馆考察——美国体育产业是如何盈利的?

体育是美国一项较高利润的产业&#xff0c;其发展规模、发展水平和效益都是世界一流的。美国体育馆考察&#xff0c;主要考察美国体育产业的盈利模式和体育赛事的赞助模式以及球馆的运营管理&#xff0c;并对比中美体育产业的差异&#xff0c;从中获得先进的体育产业运营思维&a…

php集成环境怎么打开,PHP集成开发环境PhpStorm快速入门指南(二):打开一个项目...

PhpStorm是一个轻量级且便捷的PHP IDE&#xff0c;其旨在提高用户效率&#xff0c;可深刻理解用户的编码&#xff0c;提供智能代码补全&#xff0c;快速导航以及即时错误检查。可随时帮助用户对其编码进行调整&#xff0c;运行单元测试或者提供可视化debug功能。PhpStorm 2019.…

如何查询oracle最近报警信息,教你怎样用Oracle方便地查看报警日志错误

在网上查了几天的资料&#xff0c;尝试综合清除告警日志内容及建外部表的方式来解决这一问题。一&#xff1a;备份并清除告警日志内容将每天的告警日志备份好&#xff0c;然后进行清除。1:备份报警日志在$ORACLE_HOME/SID/bdump/ 目录下&#xff0c;按日期备份alert_ORACLE_你…

计算机分php,计算机按照处理数据的形态分类,可以分为什么?

计算机按照处理数据的形态分类&#xff0c;可以分为&#xff1a;1、数字计算机&#xff0c;是以数字形式的量值在机器内部进行运算和存储的电子计算机&#xff1b;2、模拟计算机&#xff0c;是根据相似原理&#xff0c;用一种连续变化的模拟量作为被运算的对象的计算机&#xf…

2.oracle物理结构,oracle实验2oracle物理结构管理

oracle实验2oracle物理结构管理 (6页)本资源提供全文预览&#xff0c;点击全文预览即可全文预览,如果喜欢文档就下载吧&#xff0c;查找使用更方便哦&#xff01;9.9 积分实验2 oracle物理存储结构管理、实验目的1. 掌握物理结构的创建和修改方法2. 掌握表空间的存储参数设置方…

linux mount 查看挂载目录,Linux下使用mount来挂载设备到目录

一般情况下直接mount 设备路径 目录路径&#xff0c;就可以了。umount 设备名&#xff0c;就可以卸载这个设备了使用lsblk -f可以查看挂载的设备&#xff0c;以及这些设备的文件系统。roottao-PC:/boot# lsblk -fNAME FSTYPE LABEL UUID MOUNTPOINTsda├─sda1├─sda2 vfat SY…

centos7是哪种版本Linux,centos7怎么查看系统版本是不是7.2 7.5 7.6

CentOS的版本号信息一般存放在配置文件当中&#xff0c;在CentOS中&#xff0c;与其版本相关的配置文件中都有centos关键字&#xff0c;该文件一般存放在/etc/目录下&#xff0c;所以说我们可以直接在该文件夹下搜索相关的文件。其中存放其版本配置信息的文件为“centos-releas…

linux6.0 安装教程,CentOS 6.0安装步骤

1&#xff0e;安装引导选择安装或升级现有系统(Install or upgrade an existing system)&#xff1a;这个选项是默认的。 选择此选项&#xff0c;安装到您的计算机使用CentOS的图形安装程序的系统。2.检测光盘介质可以选择skip跳过3.选择安装过程中的语言这里选择chinese中文简…

LeetCode - Easy - 14. Longest Common Prefix

Topic String Description https://leetcode.com/problems/longest-common-prefix/ Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string “”. Example 1: Input: strs […

linux 虚函数调用性能,C++对象布局及多态实现探索之虚函数调用

我们再看看虚成员函数的调用。类C041中含有虚成员函数&#xff0c;它的定义如下&#xff1a;struct C041{C041() : c_(0x01) {}virtual void foo() { c_ 0x02; }char c_;};执行如下代码&#xff1a;C041 obj;PRINT_DETAIL(C041, obj)PRINT_VTABLE_ITEM(obj, 0, 0)obj.foo();C0…

netflow流量分析工具 linux,Centos5/Linux安装Nfdump和Nfsen图形界面分析netflow数据

Nfdump是linux下netflow数据采集分析工具&#xff0c;Nfsen是基于nfdump是web界面工具&#xff0c;服务器需先安装web服务器和php环境。安装rrdtool及所需组件&#xff1a;yum install perl-rrdtool rrdtool rrdtool-devel rrdutils flex byacc安装所需perl模块&#xff1a;yum…

linux嵌入式平台测试,protobuf-c 在arm linux 嵌入式平台的使用 测试

关于什么是protobuf&#xff0c;网上搜搜一大堆&#xff0c;很多人用的都还是json&#xff0c;以为json是多种语言传输数据是万能的&#xff0c;看完了protobuf的实现&#xff0c;就明白了简单高效才是王道。1、首先写一个.proto扩展名的文件json.proto&#xff0c;内容格式如下…

Linux gitpush错误,linux – GIT:无法推送(奇怪的配置问题)

我正在全新安装Linux Mint.尝试从任何存储库推送时,我收到以下错误&#xff1a;error: Malformed value for push.default: simpleerror: Must be one of nothing,matching,tracking or current.fatal: bad config file line 8 in /home/leng/.gitconfigfatal: Could not read …

linux+shell+func,Linux shell编程笔记总结

Linux Shell学习笔记简介Linux系统的shell作为操作系统的外壳&#xff0c;为用户提供使用操作系统的接口。它是命令语言、命令解释程序及程序设计语言的统称。shell是用户和Linux内核之间的接口程序&#xff0c;如果把Linux内核想象成一个球体的中心&#xff0c;shell就是围绕内…

linux版车机安装步骤,RedHat Linux 9.0的安装(详细图解安装过程)

RedHat Linux版本:" b, t) b) b# }, t# z- fC& S$ x0 }) GRedHat Linux是目前世界上使用最多的Linux操作系统。因为它具备最好的图形界面&#xff0c;无论是安装、配置还是使用都十分方便&#xff0c;而且运行稳定&#xff0c;因此不论是新手还是老玩家都对它有很高的…

linux中网页播放音乐,Linux_在Linux系统下播放网页中的背景音乐技巧,在Linux中的firefox浏览许多网页 - phpStudy...

在Linux系统下播放网页中的背景音乐技巧在Linux中的firefox浏览许多网页时&#xff0c;很多使用了基于WMP的背景音乐播放器&#xff0c;如部份baidu空间。但firefox默认不支持播放。在LINUX的源中&#xff0c;有一为kaffeine-mozilla-plugin&#xff0c;能在firefox中使用kaffe…