TP5.1 导出excel文件

2023-10-17 13:30
文章标签 excel 导出 tp5.1

本文主要是介绍TP5.1 导出excel文件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

 

在 ThinkPHP 5.1 中引入 PHPExcel(现在已被官方弃用,推荐使用 PhpSpreadsheet)时,可以按照以下步骤进行操作:

  1. 在 composer.json 文件中添加 PHPExcel(PhpSpreadsheet)的依赖项。找到 require 部分,并添加以下行:
    "require": {"phpoffice/phpspreadsheet": "^1.0"
    }

  2. 运行命令 composer update 来安装依赖项。

    composer require phpoffice/phpexcel

    安装成功即可存在该目录/vendor/phpoffice/

          

3、引入类 

use PHPExcel;

use PHPExcel_IOFactory;

<?phpnamespace app\api\controller;use Home\Controller\HeyteaApiController;
use Home\Controller\TelMsgAliController;
use think\Controller;
use think\Db;
use think\db\Connection;
use think\facade\Cache;use PHPExcel;
use PHPExcel_IOFactory;//引入两个类require_once '../php-sdk/youzanyun_open_sdk/open-sdk/vendor/autoload.php';class Index extends Controller
{
public function excel(){set_time_limit(0);//设置PHP超时时间$data_res = Db::name("hb_prize_record")->where('pz_type', '实物')->field("id,mark,is_get,get_time,tel,pz_title,pz_name,time,user_name,user_tel,user_procity,user_address,user_time")->select();
//        return json($data_res);$path = dirname(__FILE__);//找到当前脚本所在路径$PHPExcel = new \PHPExcel();//实例化phpexcel$PHPSheet = $PHPExcel->getActiveSheet();$PHPSheet->setTitle("实物中奖信息");//设置表内部名称$PHPSheet->setCellValue("A1", "表编号")->setCellValue("B1", "活动类型")->setCellValue("C1", "是否领取(1-已领取,0-未领取)")->setCellValue("D1", "领取时间")->setCellValue("E1", "登录号码")->setCellValue("F1", "奖项名称")->setCellValue("G1", "中奖时间")->setCellValue("H1", "收货姓名")->setCellValue("I1", "收货电话")->setCellValue("J1", "省市区")->setCellValue("K1", "详细地址")->setCellValue("L1", "提交时间");//表格数据$num = 2;//数据foreach ($data_res as $k => $v) {$PHPSheet->setCellValue("A" . $num, $v['id']);$PHPSheet->setCellValue("B" . $num, $v['mark']);$PHPSheet->setCellValue("C" . $num, $v['is_get']);$PHPSheet->setCellValue("D" . $num, $v['get_time']);
//            $v['now_time'] = date("Y-m-d H:i", $v['now_time']);$PHPSheet->setCellValue("E" . $num, $v['tel']);$PHPSheet->setCellValue("F" . $num, $v['pz_title']);$PHPSheet->setCellValue("G" . $num, $v['pz_name']);$PHPSheet->setCellValue("H" . $num, $v['time']);$PHPSheet->setCellValue("I" . $num, $v['user_name']);$PHPSheet->setCellValue("J" . $num, $v['user_procity']);$PHPSheet->setCellValue("K" . $num, $v['user_address']);$PHPSheet->setCellValue("L" . $num, $v['user_time']);$num++;}$PHPWriter = \PHPExcel_IOFactory::createWriter($PHPExcel, "Excel2007");//创建生成的格式header('Content-Disposition: attachment;filename="实物中奖信息.xlsx"');//下载下来的表格名header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet');$PHPWriter->save("php://output");//表示在$path路径下面生成demo.xlsx文件exit;}
}

注意事项:

1、如果本地能导出excel并可以正常打开,但上传到服务器就不行,提示无法打开文件,试试在末尾加上 exit;如

$PHPWriter->save("php://output");//表示在$path路径下面生成demo.xlsx文件
exit;

2、如果是导出文件提示不存在,或者浏览器直接什么都不显示,这个时候考虑是不是没清空缓冲区;

缓冲区问题  解决方法:ob_end_clean()  在输出文件之前先清空缓冲

这篇关于TP5.1 导出excel文件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/225731

相关文章

使用Java将各种数据写入Excel表格的操作示例

《使用Java将各种数据写入Excel表格的操作示例》在数据处理与管理领域,Excel凭借其强大的功能和广泛的应用,成为了数据存储与展示的重要工具,在Java开发过程中,常常需要将不同类型的数据,本文... 目录前言安装免费Java库1. 写入文本、或数值到 Excel单元格2. 写入数组到 Excel表格

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too

如何使用 Python 读取 Excel 数据

《如何使用Python读取Excel数据》:本文主要介绍使用Python读取Excel数据的详细教程,通过pandas和openpyxl,你可以轻松读取Excel文件,并进行各种数据处理操... 目录使用 python 读取 Excel 数据的详细教程1. 安装必要的依赖2. 读取 Excel 文件3. 读

C#实现将Excel表格转换为图片(JPG/ PNG)

《C#实现将Excel表格转换为图片(JPG/PNG)》Excel表格可能会因为不同设备或字体缺失等问题,导致格式错乱或数据显示异常,转换为图片后,能确保数据的排版等保持一致,下面我们看看如何使用C... 目录通过C# 转换Excel工作表到图片通过C# 转换指定单元格区域到图片知识扩展C# 将 Excel

使用Python将JSON,XML和YAML数据写入Excel文件

《使用Python将JSON,XML和YAML数据写入Excel文件》JSON、XML和YAML作为主流结构化数据格式,因其层次化表达能力和跨平台兼容性,已成为系统间数据交换的通用载体,本文将介绍如何... 目录如何使用python写入数据到Excel工作表用Python导入jsON数据到Excel工作表用

Python将博客内容html导出为Markdown格式

《Python将博客内容html导出为Markdown格式》Python将博客内容html导出为Markdown格式,通过博客url地址抓取文章,分析并提取出文章标题和内容,将内容构建成html,再转... 目录一、为什么要搞?二、准备如何搞?三、说搞咱就搞!抓取文章提取内容构建html转存markdown

vue使用docxtemplater导出word

《vue使用docxtemplater导出word》docxtemplater是一种邮件合并工具,以编程方式使用并处理条件、循环,并且可以扩展以插入任何内容,下面我们来看看如何使用docxtempl... 目录docxtemplatervue使用docxtemplater导出word安装常用语法 封装导出方

java中使用POI生成Excel并导出过程

《java中使用POI生成Excel并导出过程》:本文主要介绍java中使用POI生成Excel并导出过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录需求说明及实现方式需求完成通用代码版本1版本2结果展示type参数为atype参数为b总结注:本文章中代码均为

利用Python开发Markdown表格结构转换为Excel工具

《利用Python开发Markdown表格结构转换为Excel工具》在数据管理和文档编写过程中,我们经常使用Markdown来记录表格数据,但它没有Excel使用方便,所以本文将使用Python编写一... 目录1.完整代码2. 项目概述3. 代码解析3.1 依赖库3.2 GUI 设计3.3 解析 Mark