ThinkPHP 3.2 + PHPExcel 导入导出文件 第三方类库不能用问题解决

phpexcel导出excel无法打开,提示文件格式或文件名无效,文件损毁,解决办法 使用过很多次phpexcel了,有时需要保存文件到磁盘,有时需要浏览器弹出下载。保存到磁盘一半不会出现问题,关键是浏览器弹出保存,经常会发生导出的excel文件无法打开,提示文件格式或文件名无效,文件损毁。在此,记录一下解决办法。 1、xls还是xlsx?首先确定导出的excel文件扩展名 2、添加header,不同的文件类型,不同的header。 我就是这里出了问题,xlsx用了xls的h... 阅读详情
ThinkPHP 3.2 + PHPExcel 导入导出文件 第三方类库不能用问题解决

ThinkPHP3.2 采用了namesapce,就是所谓的命名空间,会导致很多盆友放到/Vendor下边导入文件的时候出现各种问题,鄙人百度了好多,但是好多都是老版本,最新版的ThinkPHP跟PHPExcel一直没有解决,没有办法,只能看代码,终于,找到了这个问题的解决办法,在这里Mark下,有需要的盆友可以看看。


把PHPExcel加压之后的文件里边的Classes的文件夹 PHPExcel 跟 php文件 PHPExcel.php 放到你\ThinkPHP\Library\Vendor 目录下,然后在Controller中这样写:

导入代码实例:

        

public function importExcel(){

        vendor('PHPExcel');

        $PHPExcel = new \PHPExcel();

        $saveFile = '/mnt/www/tp/Application/Home/Controller/test.xlsx';


        $PHPReader = new \PHPExcel_Reader_Excel2007(); 

        if(!$PHPReader->canRead($saveFile)){ 

            $PHPReader = new \PHPExcel_Reader_Excel5(); 

            if(!$PHPReader->canRead($saveFile)){ 

                echo 'no Excel'; 

                return ; 

            } 

        } 

        

        $PHPExcel = $PHPReader->load($saveFile); 

        $currentSheet = $PHPExcel->getSheet(0); 

        /**get max column*/ 

        $allColumn = $currentSheet->getHighestColumn(); 

        /**get max row*/ 

        $allRow = $currentSheet->getHighestRow();

        $return = array();

        $i=0;

        for($currentRow = 2;$currentRow <= $allRow;$currentRow++){

            for($currentColumn= 'A';$currentColumn<= $allColumn; $currentColumn++){ 

                $count = ord($currentColumn) - 65;

                $val = $currentSheet->getCellByColumnAndRow($count,$currentRow)->getValue();

            }

            $i++;

        } 

       

    }


导出实例代码:

public function exportExcel(){

        vendor('PHPExcel');

        $objExcel = new \PHPExcel();

        //set document Property

        $objWriter = \PHPExcel_IOFactory::createWriter($objExcel, 'Excel2007');

    

        $objActSheet = $objExcel->getActiveSheet();

        $key = ord("A");

        

        $objActSheet->setCellValue("A1", 'test1');

        $objActSheet->setCellValue("A2", 'test2');

        $objActSheet->setCellValue("B1", 'test3');

        $objActSheet->setCellValue("B2", 'test4');

    

        $outfile = "test.xls";

        

        //export to exploer

        

        header("Content-Type: application/force-download");

        header("Content-Type: application/octet-stream");

        header("Content-Type: application/download");

        header('Content-Disposition:inline;filename="'.$outfile.'"');

        header("Content-Transfer-Encoding: binary");

        header("Cache-Control: must-revalidate, post-check=0, pre-check=0");

        header("Pragma: no-cache");

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

        exit;

    }


各位可以试下,反正我是测试过了,至于你们信不信,反正我是信啦。


PS:其实没啥,就是导入文件之后,所有的new 都加个\,你就成功了,原来生活如此简单哦也!


再PS:第三方类库(TP的命名方式是已.class.php结尾的,如果你的类库中不是已这种方式结尾),请放到Think/Library/Vender中,然后使用vender()方式调用,比如你的Vendor文件夹下有个PHPExcel.php的文件,你只需要vendor('PHPExcel');如果你的Vendor文件夹下有个PHPExcel的问价夹,里边test.php文件,你只需要vendor('PHPExcel.test');

一次类推即可。


本文仅供初学者讨论学习,大牛请绕道,不喜勿喷,共建和谐社会!

(超级详细版)利用ThinkPHP3.2.3+PHPExcel实现将表格数据导入到数据库 第一步:下载 thinkphp_3.2.3 和 PHPExcel_1.8.0 并解压 对应的网站分别为: http://www.thinkphp.cn/down.html https://github.com/PHPOffice/PHPExcel 第二步:           ①将解压出来的ThinkPHP文件拷贝到网站根目录 ②并创建index.php 代码如下 阅读详情

相关推荐

ThinkPHP 3.2.3 使用 PHPExcel 类库导入xls/xlsx,导入带图片的xls/xlsx

文章目录将PHPExcel 类库放到 ThinkPHP 的 Vendor 目录下在使用的地方 使用Vendor() 引入Excel 2005 和 2007 使用不同的方法加载获取Excel 内工作表数量[ Sheet ]获取工作表名称获取Excel 最大行数获取Excel 最大列数将列名称转换为数字 [ A-&gt;0 ,B-&gt;1]【如果列数超过Z列,自行百度处理方法】获取公式的值获取文本值...

csdn_Info的专栏 1746

应用phpexcel导出excel文件后打不开的问题解决方法

应用phpexcel导出excel文件后打不开,提示“文件格式或文件扩展名无效,请确定文件未损坏,并且文件扩展名与文件的格式匹配”。 试了以下方法: 1.首先区分文件格式是2003,还是2007。 参考原文:https://blog.csdn.net/beyond__devil/article/details/53283352   if($type == 'excel2003') { ...

wang544831183的博客 3023

基于FPGA的IIR数字滤波器设计

一种是在直接法的基础上,采用预见的算法,目的是提高系统的吞吐量(指对于网络、端口设备或者其他的设施,单位时间内成功传输数据的数量,比特、字节和分组是吞吐量常用的单位),带有预见算法编程实现的IIR数字滤波器有更多的优点,例如:数据传送速度快,效率高等等;设计模拟滤波器时,它的电路一般都很复杂,而且分析起来也很麻烦,电路的复杂性就决定了使用的器件必定很多,很复杂,就这一方面看来,数字滤波器的设计要更加简单灵活,并且模拟电路不容易改变系统的参数,它的性能还很容易受到温度环境的影响,使得噪声很大。

毕业设计区博客 2125

TP3.2的删除缓存与引入第三方库的问题(二)

基本每天都会遇到新的问题,不记录下来是在是有点亏。以下内容也是在做项目的时候碰到,然后百度搜索答案,记到记事本上的,在此分享给大家。 一、关于删除TP框架的缓存问题 TP的缓存不仅仅局限于runtime里面的缓存文件,首先需要定义一个函数: public function cache_clear() { $this->deldir(TEMP_PATH); } ...

铁柱的博客 2599

删除win10电脑U盘使用记录

手工删除:和查看的方法类似,分三步,缺一不可,顺序也不能反! 第一步 设置环境变量,变量名为“devmgr_show_nonpresent_devices”,值为“1”。 第二步 打开设备管理器,勾上“查看”菜单中的“显示隐藏设备”。如果之前已经打开设备管理器,则要关了,重新打开。 第三步 清除“磁盘驱动器”、“存储卷”、“通用串行总线控制器”3个栏目下所有的灰色的图标,注意是所有!右键点击灰色图标,然后选择“卸载”。 成功 :结果USBSTOR 没有了 ...

qq_40544338的博客 2万+

Wordpress实战之第二章安装wordpress 软件需要的软件

使用下载并安装phpstudy面版工具 wget -O install.sh?https://notdocker.xp.cn/install.sh?&& sudo bash install.sh 2.安装成功如下 ==============运行状态========================= webpanel stop phpstudy running =================...

安全参透之旅 612

thinkphp导出Excel文件的示例

下面我来给各位整理两款在thinkphp中导出Excel文件的两种方法一种是原生态的输出xls文件,外一种是使用PHPExcel来实现下面我们来看看例子。 其中要注意几点: 1、必须要有 spl_autoload_register(array(‘Think’,'autoload’)); 2、在本Action和父级Action均不能出现BOM头(切记)或者会导出乱码 例子1  

crazychen的专栏 1623

国科大学习资料--图像处理(彭思龙、杨戈)--2020年期末考试题解析(学长整理分析)

在对20年卷子分析前,先看看19年卷子的解析(后面有20年的变化,由于从核心课调整到了普及课,20年的卷子相对简单,但是还是有很多细节) 解析:(字写的不好别嫌弃!!!!) 20年的卷子 第一题:和19年基本一致,但是加了高斯核计算费用,要算一个节省计算成本比率,所以去多看看PPT 第二题:和19年基本一致,加了证明两个高斯卷积仍然是高斯卷积,相当于19年题2和3结合 第三题:采样定理,和19年基本一致,但要注意加了证明 第四题:考了形态学提取图像边界 第五题:直方图,和19年一

无名何许人的博客 4364

ThinkPHP 3.2 PHPExcel 导入导出文件 第三方类库不能用问题解决

ThinkPHP3.2 采用了namesapce,就是所谓的命名空间,会导致很多盆友放到/Vendor下边导入文件的时候出现各种问题,鄙人百度了好多,但是好多都是老版本,最新版的ThinkPHP跟PHPExcel一直没有解决,没有办法,只能看代码,终于,找到了这个问题的解决办法,在这里Mark下,有需要的盆友可以看看。把PHPExcel加压之后的文件里边的Classes的文件...

weixin_34005042的博客 129

SAP ABAP SM50 的另类用途 - ABAP 工作进程对数据库表读取操作的检测

今天是2020年五一国际劳动节,Jerry祝大家劳动节快乐。 虽然五一国际劳动节来源于一百多年前国外无产阶级的一次大罢工,但由于国情原因,国内很多行业的从业人员,好像天生就是劳碌命。比如程序员行业。 2014年五一劳动节,我在和一个不是总能重现的SAP CRM incident做斗争。详情参考Jerry之前的文章记一次SAP开发工程师给微软Azure报incident的体验. 当时处理完这个复杂...

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 8676

【FDTD】仿真目录(共计 16 篇)

对于完美吸收型边界条件,有时候我们需要设置将仿真结构穿过边界条件区域,具体原因可以阅读下文。在进行 S 参数扫描时,当考虑到材料的色散特性时,我们可以如下文一样选择计算群延迟。仿真,我们需要构建仿真结构与仿真区域,对于它们的尺寸,应该遵循下文进行设定。中存在多种不同的网格类型,具体可以参考下文,这部分内容仅作了解即可。尺寸的设置问题,对于 mesh 的最小尺寸,可以参考下文。的边界条件设置也十分重要,下文中我们对边界条件进行总结。仿真中我们可以设定参与仿真的模式数量,可以参考下文。尺寸的实例,详见下文。

u011699626的博客 504

基于thinkphp3.2拓展phpexcel类库

基于thinkphp3.2拓展phpexcel类库 使用版本:thinkphp3.2,PHPExcel_1.8.0 下面简单的说明一下如何使用 Step1.解压文件,解压后可以看到如右图的目录,其中: Classes => 类库 Documentation => 使用说明 Examples => 例子 changelog.txt => 历史版本 license.txt

實驗室 1193

OBC_开环扫频波特图拟合操作流程(结合 Simulink)

摘要: 本文详细介绍了基于Simulink的开环扫频波特图测试与拟合流程,适用于电源/控制系统(如LLC/PFC)的小信号分析。主要内容包括:1)前期准备(测试点选择、信号范围设定);2)Simulink建模方法(信号注入、数据记录);3)两种扫频方式(逐频正弦/Chirp扫频)的实现;4)MATLAB数据处理(FFT分析、传递函数拟合);5)线性分析工具使用技巧。重点强调了激励信号幅值控制、稳态数据采集及模型验证方法,并提供完整MATLAB脚本示例。该流程可有效获取系统频域特性,为控制器设计提供可靠依据。

Sumerking的博客 234

ThinkPHP5.1使用PHPExcel进行数据的导入导出

本文已在本人博客https://www.nsxsg.com/archives/192首发 文章目录ThinkPHP5.1使用PHPExcel进行数据的导入导出安装PHPExcel导入数据导出数据 ThinkPHP5.1使用PHPExcel进行数据的导入导出 安装PHPExcel 进入项目目录,使用composer安装PHPExcel composer require phpoffice/p...

Web开发 3182

详解Pytorch求导

本文主要详解Pytorch求导,希望能对学习Pytorch的同学有所帮助。 文章目录 1. pytorch求导问题 2. pytorch三大类求导代码示例 2.1 标量求导 2.2 向量求导&矩阵求导

weixin_43178406的博客 3074

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

THinkPHP3.2 使用 PHPExcel 生成 excel 文件

1.PHPExcel是什么 PHPExcel 是一个采用 PHP 生成/读取 excel 文件的类库,其中包含了各种 excel 的操作,用途非常广泛,不过根据官方的公告,其在 2019 年已经停止更新,但是之前已经实现的功能已经足够我们日常使用了。 2.下载 下载地址: https://github.com/PHPOffice/PHPExcel/releases,选择最新...

沉默的二毛的博客 1141

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

thinkphp5中使用PHPExcel

thinkphp5中可以使用composer来获取第三方类库,使用起来特别方便,例如:可是使用composer下载PHPMailer,think-captcha(验证码)等等…… 接下来说一下怎么使用PHPExcel,这是一个很好用的第三方类库。 1.使用composer下载PHPExcel,首先安装过composer之后,用dos命令行,引入到项目所在目录下,然后输入composer req

Iloveyougirls的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

OV9734 DATASHEET,完整规格书

OV9734完整规格书,包括电气参数,尺寸规格,寄存器配置表等

ThinkPHP3.2.3集成PHPExcel,Linux下导出Excel乱码问题终极解决

PHPExcelPHPExcel集成了强大的功能。这里主要讲解如何使用Excel的导入导出功能。 PHPExcel下载地址:http://phpexcel.codeplex.com/ThinkPHP3.2.3集成PHPExcel1、下载PHPExcel 2、将Classes下的PHPExcel.php及PHPExcel文件夹拷贝到ThinkPHP\Library\Org\Util目录下,并将PH

错位竞争,单点突破。 3192

TP3.2 thinkPHP3.2 phpexcel+TP框架导出

注意事项:1.phpexcel将数据导出到表格 实际上就是下载 前端只能用页面跳转不能用ajax请求2.可以用href/open/模拟表单(做一个隐藏的form,把数据放入到input中submit事件提交,以下会介绍)1.下载phpexcel2.将文件夹放入TP核心文件的 Library-&gt;Vendor下面3.TP里导入PHPExcel    Vendor('PHPExcel.PHPExc...

尼古拉斯鹏 3664

tp6 thinkphp6 excel导入导出 PHPExcel导入导出excel

tp6 thinkphp6用PHPExcel导入导出excel

5593

【Thinkphp】引入第三方类库常见问题

TP3.2在添加第三方sak的时候,文件放在ThinkPHP/Library/Org文件夹下可独立创建文件夹,需对文件做以下修改。 1.第一应该修改文件的名称(下载的sdk一般是 类名.php,TP的类名命名规则是类名.class.php)。 2.在下载的sdk类名中添加命名空间。 3.最后就是在引用的时候use一下,然后就可以直接实例化对象了。

blue5blue的博客 8679

Thinkphp3.2 整合 phpexcel

由于thinkphp3.2使用命名空间,而 PHPExcel没有使用,那么两者整合的最重要问题就是如何导入的问题。 一、PHPExcel.php和PHPExcel文件夹都放在ThinkPHP/Library/Org/Util下,PHPExcel.php修改为PHPExcel.class.php。 二、 public function index(){ //导入PHPEx

骑着猪猪去拍拖 685

ThinkPHP导入PHPExcel

一般会用粗暴的ThinkCMF,第三方库在 simplewind/Core/Library/Vendor/ 比如我们把PHPExcel放在Vendor目录下 如果你的第三方类库都放在Vendor目录下面,并且都以.php为类文件后缀,也没用采用命名空间的话,那么可以使用系统内置的vendor函数简化导入。例如,我们来导入二维码操作库PHPExcel,把 P

Epsilon 1384

ThinkPHP5.1使用phpexcel第三方类库生成excel文件(导出功能)

PHP版本要求为5.6,不支持PHP7+, 遇到的错误,是因为php版本太高,PHP7+的不支持,只好换到5.6的版本 在https://packagist.org/搜索 phpoffice 1.进行composer安装 如果composer之前设置了国内镜像需要解除镜象: 如果需要解除镜像并恢复到 packagist 官方源,请执行以下命令: composer config -g --uns...

weixin_39218464的博客 1185

thinkphp PHPexcel 导入导出的

thinkphp  框架用的不太多,也没怎么接触过PHPExcel,但是工作中需要用到PHPExcel 来进行导入数据 与导出数据。 于是就学习了下关于thinkphp与PHPExcel的整合。 百度,谷歌 上 资料很多 我也查了许多 ,然后 把我学到的知识分享下 可从官网上下载PHPExcel http://phpexcel.codeplex.com/releases/view/1191

lm1622的博客 498
上一篇: 一个好用又快速的轻量级mysql管理工具——HeidiSQL
下一篇: 代理ARP的作用和原理
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值