thinkphp 读取存放excel表格并进行数据填充

news/2024/7/21 3:50:25 标签: excel, php
  1. 先读取存放在服务器项目中的原始excel表格
 		 //原文件路径
        $filePath = public_path() . "checklist.xlsx";
        $file = IOFactory::load($filePath);
        $sheet = $file->getActiveSheet();
  1. 向表格中填充数据
	 $sheet->setCellValueByColumnAndRow(12, 3, date('Y年m月d日',strtotime($date)));
        $row = 9; //从第9行开始
        foreach ($list as $item) {
            //云商通订单号
            $sheet->setCellValueByColumnAndRow(1, $row, $item['orderNo']."\t");
            //订单类型
            $sheet->setCellValueByColumnAndRow(2, $row, $item['tradeType']);
            //交易金额
            $sheet->setCellValueByColumnAndRow(3, $row, $item['chgAmount']);
            //手续费
            $sheet->setCellValueByColumnAndRow(4, $row, $item['channelFee']);
            //交易时间
            $sheet->setCellValueByColumnAndRow(5, $row, $item['changeTime']);
            //商户订单编号
            $sheet->setCellValueByColumnAndRow(6, $row, $item['bizOrderNo']);
            //支付方式
            $sheet->setCellValueByColumnAndRow(16, $row, $item['tradeType']);
            $row++;
        }
  1. 设置填充内容字体大小和样式
        //加粗并使用8号字体
        $sheet->getStyle("L3")
            ->getFont()->setBold(true)->setSize(8);

        $sheet->getStyle("A9:W33")
            ->getFont()->setBold(true)->setSize(8);
  1. 生成文件url
		$exportCache = new ExportCache();
        $src = $exportCache->getSrc();

        //文件不存在 创建文件
        if (!file_exists($src)) {
            mkdir($src, 0775, true);
        }

        //文件名
        $fileName = $date.'对账单.xlsx';

        // 生成文件路径
        $writer->save($src . $fileName);

        //设置本地excel返回下载地址
        $vars = ['file' => $exportCache->setFile($fileName)];
        return (string)url("index/download/export", $vars, false, true);

访问返回的链接即可下载新的excel表格


http://www.niftyadmin.cn/n/5135190.html

相关文章

【Python机器学习】零基础掌握OrthogonalMatchingPursuit变量选择回归器

如何在海量数据中找到最重要的特征? 在大数据时代,数据分析已经成为解决各种问题的关键。但在海量的数据中,如何找到真正有用的信息,是一个挑战。这里有一个实际问题:假设一个电商公司想通过用户行为数据来预测销售额,但数据中有成百上千的特征,包括但不限于用户年龄、…

【python】挑选墙纸--CTGU计协编程部月考核

题目: """ 题目描述: 为庆祝三峡大学建校100周年,学校购入多张墙纸以作装饰,每张墙纸为一个 n x m 的小写字母矩阵。其中,学长想挑选出能够从中读出 "ctgu" 字样的墙纸。具体来说,从墙纸的左…

antd pro 生成的框架的权限控制分析

背景 :npm i ant-design/pro-cli -g pro create myapp 生成框架 , 当我们不登录,直接进入其他页面,它就会退出去登录页面,那么它是如何做的呢? 又或者说,它的权限控制是如何做的&#xff…

Vue 的双向数据绑定是如何实现的?

目录 1. 响应式数据 2. v-model 指令 3. 实现原理 4. 总结 Vue.js 是一款流行的前端 JavaScript 框架,它以其强大的双向数据绑定能力而闻名。双向数据绑定使得数据在视图和模型之间保持同步,并且任一方的变化都会自动反映到另一方。那么,…

【设计模式三原则】

设计模式三原则 单一职责原则开放封闭原则依赖倒转原则里氏代换原则 我们在进行程序设计的时候,要尽可能地保证程序的可扩展性、可维护性和可读性,所以需要使用一些设计模式,这些设计模式都遵循了以下三个原则,下面来依次为大家介…

Django 社区志愿者管理系统

摘 要 随着社会的发展,社会的各行各业都在利用信息化时代的优势。计算机的优势和普及使得各种信息系统的开发成为必需。 社区志愿者服务管理系统,主要的模块包括查看首页、个人中心、通知公告管理、志愿者管理、普通管理员管理、志愿活动管理、活动宣…

memcmp内存比较函数

1.头文件:string.h 2.函数原型:int memcmp(const void *ptr1, const void *ptr2, size_t num) 3.函数功能:比较两块内存中数据的大小 4.参数解释: 比较 ptr1 和 ptr2 两个指针所指向的两块内存中的前 num 个字节 5.返回值&am…

centos中mongodb设置服务自启动并 允许远程IP访问

安装mongodb参考 注意的是配置文件需要把journal设置为true 制作为系统服务 创建MongoDB服务文件。运行以下命令创建服务文件/etc/systemd/system/mongod.service: vi /etc/systemd/system/mongod.service [Unit] DescriptionMongoDB Database Server Documenta…