`

【转】ThinkPHP与PHPExcel冲突

    博客分类:
  • PHP
阅读更多
原文出自http://www.lurenfake.com/archives/161/

最近一个项目需要批量导入Excel数据,要用到PHP读取Excel中的内容然后导入到数据库。很早之前就知道有一个叫做PHPExcel的类(官方网站)可以用来操作Excel,一直没有机会尝试,今天试用发现无比强大,下载后的源码包里有详细文档,几乎能实现手工操作Excel能实现的一切功能。

一个简单的读取Excel的例子如下:

$inputFileType = 'Excel2007';
$inputFileName = './public/files/import_user_template.xlsx';
$sheetname = 'Sheet1';
//指定Excel类型,创建一个reader
$objReader = PHPExcel_IOFactory::createReader($inputFileType);
//设置只读取数据,不包括公式和格式
$objReader->setReadDataOnly(true);
//只读取指定的sheet
$objReader->setLoadSheetsOnly($sheetname);
$objPHPExcel = $objReader->load($inputFileName);

$curSheet = $objPHPExcel->getSheet(0);
//包含数据的最大列
$allColumn = $curSheet->getHighestColumn();
//包含数据的最大行
$allRow = $curSheet->getHighestRow();

for($currentRow = 1; $currentRow <= $allRow; $currentRow++){
        for($currentCol = 'A'; $currentCol <= $allColumn; $currentCol++){
                echo $curSheet->getCell($currentCol.$currentRow)->getValue()."\t";
        }
        echo "\r\n";
}


要在ThinkPHP中使用,把源码包中的Classes目录复制到ThinkPHP的Vendor目录下,改名为PHPExcel,然后调用Vendor方法载入

vendor('PHPExcel.PHPExcel');可是这样一来发现读取Excel以后再调用M或者D方法实例化模型类时报找不到Model类的错误,经过研究发现是自动装载机制冲突,要解决冲突,需要在M或者D方法调用之前使用spl_autoload_register函数重新注册autoloader类

spl_autoload_register(array('Think','autoload'));
分享到:
评论

相关推荐

    ThinkPHP5的PHPExcel导入导出

    在IT行业中,Web开发经常会遇到数据的导入与导出需求,尤其在企业级应用中,这一功能尤为重要。ThinkPHP5是一款流行的PHP框架,而PHPExcel是一个处理Excel文件的强大库,能够帮助开发者实现对Excel数据的读取、编辑...

    ThinkPHP与PHPExcel冲突解决方法

    这主要是因为在ThinkPHP框架中已经配置了自动装载机制,当引入PHPExcel后,可能会与原有的自动装载机制发生冲突,造成类无法被正确加载。 冲突的根源在于ThinkPHP和PHPExcel都使用了自动装载类,而两者可能会有不同...

    thinkphp+PHpexcel实例

    总的来说,这个实例展示了如何在`ThinkPHP`框架下利用`PHPExcel`进行数据处理。通过`ExcelModel`,开发者可以高效地操作Excel文件;通过`ExcelAction`,用户可以通过Web界面与这些功能进行交互。理解这两个组件的...

    THINKPHP扩展PHPEXCEL,PHP7.3版本,

    跳坑PHPEXCEL与PHP7.3高版本兼容问题,框架:THINKPHP5,PHPEXCEL版本:1.81,无法导出EXCEL原因为Shared/OLE.php第290行使用continue,PHP7不支持,修改为continue 2即可。

    thinkphp3.2.3整合phpexcel导出功能

    本篇文章将详细介绍如何在ThinkPHP3.2.3中整合PHPExcel来实现数据的导出功能,并讨论如何通过vendor管理器来优化这一过程。 首先,我们要理解ThinkPHP3.2.3中的Vendor管理。在3.2.x版本中,虽然没有引入Composer...

    thinkphp3.2.3 PHPExcel组件

    《深入理解ThinkPHP3.2.3与PHPExcel组件的整合应用》 在现代Web开发中,数据处理和报表生成是一项重要任务,而ThinkPHP作为国内广泛使用的PHP框架,结合PHPExcel组件,可以有效地实现复杂的Excel数据操作。本文将...

    thinkphp5.0+PHPExcel-demo

    【描述】提到,这个项目是ThinkPHP5.0框架与PHPExcel的集成实例。ThinkPHP5.0是中国最流行的PHP开发框架之一,它提供了丰富的MVC(模型-视图-控制器)架构和便捷的开发工具,使得Web应用开发更加高效。而PHPExcel是...

    thinkphp phpexcel

    8. **标签“tp表格导出”**:这表明重点在于ThinkPHP框架中的数据导出功能,因此在实际应用中,你需要结合ThinkPHP的MVC结构,将上述代码与模型、视图和控制器结合起来,以处理用户的请求并返回Excel文件。...

    在ThinkPHP中调用PHPExcel的问题解决方案

    - **自动加载配置**:通过`spl_autoload_register()`注册自动加载机制,避免ThinkPHP和PHPExcel之间的冲突。 #### 四、总结 通过以上步骤,可以有效地解决在ThinkPHP中使用PHPExcel时遇到的问题。确保PHPExcel正确...

    ThinkPHP5.1 excel表的导入导出操作 (PHPExcel)

    本资源为了实现 excel表的导入导出操作 同时也包含了 phpexcel 的源码,以保证后期的备份使用 具体使用方法,请参考文章: https://blog.csdn.net/u011415782/article/details/89430330

    thinkphp3.2整合PHPExcel 数据导入导出完整示例

    在本文中,我们将深入探讨如何在ThinkPHP 3.2框架中整合PHPExcel库,实现数据的导入和导出功能。这个完整的示例涵盖了从Excel文件读取数据并将其插入数据库,以及从数据库提取数据并导出到Excel表格的全过程。我们将...

    ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例

    在本实例中,我们将探讨如何使用ThinkPHP框架结合PHPExcel库实现Excel数据的导入与导出。这是一项在处理大量数据时非常有用的功能,特别是在数据分析、数据迁移或批量数据录入等场景下。 首先,我们来看一下如何...

    PHPExcel thinkPHP 3.2.3

    **PHPExcel 与 thinkPHP 结合** 将 PHPExcel 集成到 thinkPHP 3.2.3 中,可以充分利用框架的便利性来处理 Excel 相关任务。开发者可以通过控制器来调用 PHPExcel 类,读取或写入数据,然后通过视图展示结果,或者...

    Thinkphp PHPExcel插件

    接下来,我们深入了解一下Thinkphp与PHPExcel结合使用时的一些关键知识点: 1. **Composer集成**:在Thinkphp中,通常使用Composer来管理依赖。安装PHPExcel时,会在项目的`composer.json`文件中添加相关依赖,然后...

    phpexcel之mpdf扩展

    总结起来,"phpexcel之mpdf扩展"是一个将ThinkPHP项目中的数据通过PHPExcel处理后,利用mpdf转换为PDF格式的有效方法。通过这两个工具的结合,开发者可以为用户提供更多样的数据导出选择,提升用户体验。同时,了解...

    Thinkphp 3.2利用phpexcel将数据通过excel导出

    下面,我们将深入探讨如何在ThinkPHP 3.2中使用PHPExcel将数据导出到Excel文件。 首先,我们需要了解PHPExcel库。PHPExcel是一款开源的PHP类库,用于读取和写入多种Excel文件格式,包括.BIFF(Excel 97-2003)和....

    Thinkphp 3.2.2 利用phpexcel将数据通过excel导出

    本话题将详细探讨如何利用ThinkPHP 3.2.2框架结合PHPExcel库实现数据通过Excel格式导出的功能。 首先,ThinkPHP 3.2.2是一个流行的PHP开发框架,它提供了一套简洁而强大的MVC(模型-视图-控制器)结构,方便开发者...

    ThinkPHP基于PHPExcel导入Excel文件的方法

    本文实例讲述了ThinkPHP基于PHPExcel导入Excel文件的方法。分享给大家供大家参考。具体方法如下: 主要知识点,用PHPExcel导入Excel数据经过这几天测试还是可以,xls,xlsx都可以获取Excel的数据。 下载地址:...

    thinkPHP+phpexcel实现excel报表输出功能示例

    根据所提供的文件内容,我们可以提取以下知识点,详细阐述在ThinkPHP框架中使用PHPExcel库实现Excel报表输出功能的过程和方法: 1. 环境准备工作 - 首先,需要下载PHPExcel类库包,版本为1.7.6。这个类库提供了...

Global site tag (gtag.js) - Google Analytics