COMPOSER安装使用WIN下升级PHP-V

想用TP6使用phpspreadsheet但是说我PHP版本低,原来是PHP7.0 composer要求至少7.4

直接修改环境变量,把PHP目录切换到7.4

composer升级比较简单,在PHP目录下CMD然后官网的命令执行下即可

下面就可以在TP根目录下执行命令安装PHPSPREADSHEET

程序就简单了

php 复制代码
use PhpOffice\PhpSpreadsheet\Spreadsheet;
use PhpOffice\PhpSpreadsheet\IOFactory;

$spreadsheet = new Spreadsheet();
			// 获取活动工作薄
			$sheet = $spreadsheet->getActiveSheet();
		
			// 获取单元格
			$cellA = $sheet->getCell('A1');
			// 设置单元格的值
			$cellA->setValue('姓名');
			// 设置 A 列 列宽
			$sheet->getColumnDimension('A')->setWidth(30);
			// 设置第一行 行高
			$sheet->getRowDimension(1)->setRowHeight(20);
		
			$cellB = $sheet->getCell('B1');
			$cellB->setValue('手机号');
			$sheet->getColumnDimension('B')->setWidth(30);
		
			$cellC = $sheet->getCell('C1');
			$cellC->setValue('学历');
			$sheet->getColumnDimension('C')->setWidth(30);
		
			$cellD = $sheet->getCell('D1');
			$cellD->setValue('考试目的');
			$sheet->getColumnDimension('D')->setWidth(30);
		
			$cellE = $sheet->getCell('E1');
			$cellE->setValue('考试方式');
			$sheet->getColumnDimension('E')->setWidth(30);
		
			$cellF = $sheet->getCell('F1');
			$cellF->setValue('报名时间');
			$sheet->getColumnDimension('F')->setWidth(30);
		
			$cellG = $sheet->getCell('G1');
			$cellG->setValue('来源');
			$sheet->getColumnDimension('G')->setWidth(30);
		
			// 设置样式 标题栏
			$styleArray = [
				'alignment' => [
					'horizontal' => 'center', //水平居中
					'vertical' => 'center', //垂直居中
				],
				'font' => [
					'name' => '黑体',
					'bold' => false,
					'size' => 10
				]
			];
			// 设置样式 正文
			$styleArrayBody = [
				'alignment' => [
					'horizontal' => 'center', //水平居中
					'vertical' => 'center', //垂直居中
				],
				'font' => [
					'name' => '宋体',
					'bold' => false,
					'size' => 10
				]
			];
			// 应用样式
			$sheet->getStyle('A1')->applyFromArray($styleArray);
			$sheet->getStyle('B1')->applyFromArray($styleArray);
			$sheet->getStyle('C1')->applyFromArray($styleArray);
			$sheet->getStyle('D1')->applyFromArray($styleArray);
			$sheet->getStyle('E1')->applyFromArray($styleArray);
			$sheet->getStyle('F1')->applyFromArray($styleArray);
			$sheet->getStyle('G1')->applyFromArray($styleArray);
		
			// 从 A2 开始填充数据
			foreach ($data as $k => $v) {
				if($v['aid'] == 99999){
					$laiyuan = "专题";
				}else{
					$laiyuan = "文章";
				}
				$n = $k + 2;
				// 获取单元格
				$cellA = $sheet->getCell('A'.$n);
				// 设置单元格的值
				$cellA->setValue($v['uname']);
		
				$cellB = $sheet->getCell('B'.$n);
				$cellB->setValue($v['phone']);
		
				$cellC = $sheet->getCell('C'.$n);
				$cellC->setValue($v['xueli']);
		
				$cellD = $sheet->getCell('D'.$n);
				$cellD->setValue($v['mudi']);
		
				$cellE = $sheet->getCell('E'.$n);
				$cellE->setValue($v['fangshi']);
		
				$cellF = $sheet->getCell('F'.$n);
				$cellF->setValue($v['createtime']);
		
				$cellG = $sheet->getCell('G'.$n);
				$cellG->setValue($laiyuan);
		
		
				// 再给表格体设置样式
				$sheet->getStyle('A'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('B'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('C'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('D'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('E'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('F'.$n)->applyFromArray($styleArrayBody);
				$sheet->getStyle('G'.$n)->applyFromArray($styleArrayBody);
			}
		
			// MIME 协议的扩展
			$filename = date('Y-m-d').'报名表单.xlsx';
			header('Content-Type:application/vnd.ms-excel');
			header('Content-Disposition:attachment;filename='.$filename);
			header('Cache-Control:max-age=0');
			$writer = IOFactory::createWriter($spreadsheet, 'Xlsx');
			$writer->save('php://output');
相关推荐
朝九晚五ฺ14 小时前
从零到实战:鲲鹏平台 HPC 技术栈与并行计算
java·开发语言
CUIYD_198914 小时前
Freemarker 无法转译 & 字符
java·开发语言·spring
superman超哥14 小时前
Rust Vec的内存布局与扩容策略:动态数组的高效实现
开发语言·后端·rust·动态数组·内存布局·rust vec·扩容策略
Evand J14 小时前
【MATLAB例程,附代码下载链接】基于累积概率的三维轨迹,概率计算与定位,由轨迹匹配和滤波带来高精度位置,带测试结果演示
开发语言·算法·matlab·csdn·轨迹匹配·候选轨迹·完整代码
Yuiiii__14 小时前
一次并不简单的 Spring 循环依赖排查
java·开发语言·数据库
野槐14 小时前
java基础-面向对象
java·开发语言
遇见~未来14 小时前
JavaScript构造函数与Class终极指南
开发语言·javascript·原型模式
foundbug99914 小时前
基于MATLAB的TDMP-LDPC译码器模型构建、仿真验证及定点实现
开发语言·matlab
X***078815 小时前
从语言演进到工程实践全面解析C++在现代软件开发中的设计思想性能优势与长期生命力
java·开发语言
毕设源码-钟学长15 小时前
【开题答辩全过程】以 基于Python的车辆管理系统为例,包含答辩的问题和答案
开发语言·python