新闻中心

php数据整理中如何把数组数据写入excel_php用phpspreadsheet写数组与样式设置

2025-11-28
浏览次数:
返回列表
首先安装PhpSpreadsheet库,通过Composer执行composer require phpoffice/phpspreadsheet;接着准备二维数组数据如$data = [['Name' => '张三', 'Age' => 25], ['Name' => '李四', 'Age' => 30]];然后创建Spreadsheet实例并获取活动工作表$sheet = $spreadsheet->getActiveSheet();遍历数据使用setCellValueByColumnAndRow写入内容;再设置样式如$sheet->getStyle('A1:Z1')->getFont()->setBold(true)加粗标题、居中对齐、调整列宽及添加边框;最后创建Xlsx写入器$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet),调用$writer->s*e('output.xlsx')保存文件或使用php://output实现浏览器下载。

php数据整理中如何把数组数据写入excel_php用phpspreadsheet写数组与样式设置

如果您需要将PHP中的数组数据导出为Excel文件,并且希望对单元格样式进行自定义设置,可以使用PhpSpreadsheet库来实现。以下是具体的操作步骤:

一、安装PhpSpreadsheet库

PhpSpreadsheet是一个纯PHP编写的库,用于读取和写入电子表格文件。它支持多种格式,包括XLSX、ODS、CSV等。

1、使用Composer在项目目录下执行以下命令安装PhpSpreadsheet:composer require phpoffice/phpspreadsheet

2、确保Composer自动加载机制已启用,通常通过引入vendor/autoload.php来加载依赖。

二、准备要写入的数组数据

在写入Excel之前,先准备好需要导出的二维数组数据,每一行对应Excel中的一行记录。

1、定义一个关联或索引数组,例如:$data = [['Name' => '张三', 'Age' => 25], ['Name' => '李四', 'Age' => 30]];

2、如果使用的是关联数组,可通过提取键作为表头,提升可读性。

三、创建Excel工作簿并写入数据

使用Spreadsheet对象初始化一个新的工作簿,并获取活动工作表以进行数据填充。

1、实例化Spreadsheet类:$spreadsheet = new \PhpOffice\PhpSpreadsheet\Spreadsheet();

2、获取当前激活的工作表:$sheet = $spreadsheet->getActiveSheet();

3、遍历数组,从第一行开始逐行写入数据,例如使用循环:foreach ($data as $rowIndex => $row) { foreach ($row as $colIndex => $value) { $sheet->setCellValueByColumnAndRow($colIndex + 1, $rowIndex + 1, $value); } }

四、设置单元格样式

通过Style组件可以对字体、边框、对齐方式、背景色等进行设置,提升表格的可视化效果。

1、设置标题行字体加粗:$sheet->getStyle('A1:Z1')->getFont()->setBold(true);

2、设置文本居中对齐:$sheet->getStyle('A1:Z100')->getAlignment()->setHorizontal(\PhpOffice\PhpSpreadsheet\Style\Alignment::HORIZONTAL_CENTER);

3、设置列宽以适应内容:$sheet->getColumnDimension('A')->setWidth(20);

4、为特定区域添加边框:$sheet->getStyle('A1:B10')->getBorders()->getAllBorders()->setBorderStyle(\PhpOffice\PhpSpreadsheet\Style\Border::BORDER_THIN);

五、保存为Excel文件

使用适当的写入器将生成的Spreadsheet对象输出为物理文件。

1、创建Xlsx写入器实例:$writer = new \PhpOffice\PhpSpreadsheet\Writer\Xlsx($spreadsheet);

2、将文件保存到指定路径:$writer->s*e('output.xlsx');

3、如需浏览器直接下载,可修改headers并调用$writer->s*e('php://output');配合正确的Content-Type头信息。

以上就是php数据整理中如何把数组数据写入excel_php用phpspreadsheet写数组与样式设置的详细内容,更多请关注其它相关文章!


# 李四  # seo文章采集软件设置  # 推广平台网站排名优化  # seo参考火 星下拉  # 最近的seo优化价格  # 万书网站建设素材  # 苏州抖音SEO店铺  # app推广和网站建设实施方案  # 情歌文案网站推广方案  # 正规短视频营销推广平台  # 做seo工程师好吗  # 中文网  # 相关文章  # 加粗  # php  # 是一个  # 组中  # 的是  # 单元格  # 遍历  # 上传  # php编写  # win  # csv  # office  # 浏览器  # composer  # excel 


相关栏目: 【 科技资讯46185 】 【 网络学院92790


相关推荐: 将JSON对象数组转置为键值对列表的实用指南  如何解决电商平台定制报价请求的“黑洞”问题,SprykerQuoteRequest模块助你提升客户体验与销售效率  Go语言中JSON数据解析与字段访问教程  Win11截图该按哪些键 Win11截屏完整流程解析【教程】  树莓派传感器触发:通过Twilio API发送WhatsApp消息教程  qq游戏手机版下载安装_qq游戏移动端入口  HTML5原生日期选择器与jQuery UI:实现日期选择器的联动与程序化控制  漫蛙漫画登录站点 漫蛙2正版漫画快速访问  铁路12306官网网页端快速入口 铁路12306官方首页登录教程  AO3官方可用镜像 Archive of Our Own网页版最新入口  MinIO大规模对象列表性能瓶颈深度解析与外部元数据管理策略  零跑汽车11月交付量达70327台 实现连续9个月正增长  Lar*el Excel导入时生成自定义递增ID的策略与实践  12306几点到几点不能订票? | 官方最新系统维护时间全解析  如何优雅地解决Livewire文件上传难题?SpatieLivewireFilepond让一切变得简单  抖音网页版怎么|直播|_抖音网页版开播操作指南  MAC怎么安装Homebrew包管理器_MAC为开发者和高级用户安装命令行工具  知乎APP怎么管理已购盐选内容_知乎APP盐选内容购买记录与查看方法  Win11怎么关闭触摸屏_Windows 11禁用HID符合标准触摸屏  邮编格式怎么匹配地址_根据邮编格式快速匹配详细地址的技巧  Go RPC HTTP服务正确实现与常见陷阱解析  必由学官网入口 必由学教师登录入口  海量存储:机器视觉智能化的核心基石  mc.js官网登录入口 mc.js官方登录入口最新版  学习通网页版官方登录 超星学习通电脑端入口指南  深入理解Go语言中Map值与方法接收器的交互:为什么需要临时变量  微博网页版直接访问 微博网页版账号管理快速入口  百度网盘网页版入口 百度网盘网页版官方登录网址  利用Bokeh CustomJS动态控制DataTable列可见性  C++如何实现一个装饰器模式_C++设计模式之动态地给对象添加额外职责  构建轻量级网站内部消息系统:Formspree 集成指南  Win11怎么隐藏桌面图标 Win11一键隐藏所有桌面元素及恢复显示  win11 arm版怎么安装 M1/M2 Mac虚拟机安装ARM win11的方法  从OpenAI API响应中高效提取生成文本  蛙漫安全无毒 官方认证的绿色入口  小红书商家版怎样在笔记嵌入商品卡路径_小红书商家版在笔记嵌入商品卡路径【挂载教程】  解决移动端滚动问题的overflow属性应用指南  Win11怎么关闭快速启动_Win11彻底关机设置教程  支付宝如何设置安全保护_支付宝安全设置的全面教程  微信语音通话掉线如何解决 微信语音通话稳定优化方法  抖音DOU+怎么投最有效 抖音付费推广的ROI提升技巧  QQ邮箱网页版登录入口 QQ邮箱官方在线使用平台  移动端XML文件怎么转换成Excel 手机和平板上的解决方案  京东单号查询入口_京东快递订单追踪入口  LINUX的I/O重定向是什么_深入理解LINUX中 >、>> 与 < 的区别  深入理解J*aScript Promise异步执行与微任务队列  J*aScript井字棋(Tic-Tac-Toe)核心交互逻辑实现教程  Go调试环境为何无法启动_Go调试器启动失败原因与解决策略  优化 Python 函数中的条件逻辑:解决 if-else 嵌套与参数选择问题  Golang如何实现容器化日志收集与分析_Golang容器日志收集分析方法 

搜索