文档章节

PHPExcel 读取导入 excel2003,2007各个版本整理

rin9958
 rin9958
发布于 2016/06/11 21:32
字数 557
阅读 131
收藏 2
点赞 0
评论 0

最近在做一个php读取excel存入数据库的功能,于是用到了phpexcel,下载安装以后只能读取excel2003,2007以后的读取不了,搜了很多很多方法,也用了不少时间,最后总结一下吧,希望帮助以后像我这样的新手

首先读取2007的时候 一直没法load文件,最后发现好像是,没有读取权限吧?

说说解决方法吧

  1. 设置php.ini里面的open_basedir,把前面的;去掉,也就是取消注释

这时又报错了:PHPExcel 报 Allowed memory size of 8388608 byte

解决方法:

使用 phpExcel 报 Allowed memory size of 8388608 bytes exhausted 错误,原因是php页面消耗的最大内存默认是为 8M (在PHP的ini件里可以看到) ,如果文件太大 或图片太大 在读取的时候 会发生上述错误。

解决办法:

‍1,修改 php.ini 将memory_limit由 8M 改成 16M(或更大),重启apache服务

2,在PHP 文件中 加入 ini_set('memory_limit','100M'); //100不行就写10000 测试一下

注意:为了系统的其它资源的正常使用 请您不要将 memory_limit设置太大,其中-1为不限

3,修改.htaccess 文档(前提是该目录支持.htaccess) 在文档中新增一句:php_value memory_limit 16M(或更大)

下面是一个测试页面:

<?php
 ini_set('memory_limit','200M');                          //设置文件上传大小
 require_once 'Classes/PHPExcel/IOFactory.php';
 $reader = PHPExcel_IOFactory::createReader('Excel2007'); // 读取 excel 文件方式  此方法是读取excel2007之前的版本 excel2007 为读取2007以后的版本 也可以查\Classes\PHPExcel\Reader 文件夹中的类(为所有读取类,需要哪个填上哪个就行)
 $resource = 'test.xlsx';
 if (!file_exists($resource)) {
  exit("$resource is not exists.\n");
 }
 $PHPExcel = $reader->load("test.xlsx"); // 文件名称
 $sheet = $PHPExcel->getSheet(0); // 读取第一个工作表从0读起
 $highestRow = $sheet->getHighestRow(); // 取得总行数
 $highestColumn = $sheet->getHighestColumn(); // 取得总列数
 echo $highestRow.$highestColumn;
 // 根据自己的数据表的大小修改
 $arr = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F');

 // 每次读取一行,再在行中循环每列的数值
 for ($row = 1; $row <= $highestRow; $row++) {
  for ($column = 0; $column < 6; $column++) {
   $val = $sheet->getCellByColumnAndRow($column, $row)->getValue();
   $list[$row][] = $val;
  }
 } 
 echo "<pre>".print_r($list)."</pre>";

?>

转载自:http://www.9958.pw/post/phpexcel_2003_2007

© 著作权归作者所有

共有 人打赏支持
rin9958
粉丝 9
博文 113
码字总数 54109
作品 0
程序员
如果PHP的某个composer第三方依赖它依赖了不同版本的某个依赖, 且这两个版本不兼容, 那么 composer 会报错吗?

比如 myproject 的 composer.json 依赖于 phpexcel 和 phpdoc, 其中 phpexcel 依赖于 httpcurl 库 1.2 phpdoc 依赖于 httpcurl 库 3.1 那么整个项目会不会冲突?...

添加软件 ⋅ 06/15 ⋅ 0

整合ThinkPHP功能系列之PHPExcel生成Excel表格文件

开始整合 ThinkPHP 功能了,先把这两个导出 Excel 表的功能提交上去,项目地址:Github 昨天发 csv 格式的时候就说 PHPExcel 导出没有表头的问题,昨天研究了一下搞出来了 第一步:导入 phpe...

沈唁志 ⋅ 05/19 ⋅ 0

Excel 操作库 - PHPExcel

PHPExcel 是一个用来读写 Excel 2007 (OpenXML) 文件的 PHP 库。 示例代码: /** Error reporting /errorreporting(EALL); / Include path /iniset('includepath', iniget('includepath').'......

匿名 ⋅ 2009/01/14 ⋅ 4

POI - 读取Excel2003、Excel2007或更高级的兼容性问题

我们使用POI中的HSSFWorkbook来读取Excel数据。 上边代码,读取Excel2003(xls)的文件没问题,但是一旦读取的是Excel2007(xlsx)的文件,就会报异常:“The supplied data appears to be i...

技术小美 ⋅ 2017/11/14 ⋅ 0

使用phpexcel解析Excel数据表并存储到数据库中全过程_PHP_thinkphp_cmf

分享经验是为了让你少走弯路————华伟君 使用PHPExcel解析Excel数据表并存储到数据库中全过程 --- 第一部分:thinkphp中实例化上传类获取from表单提交的文件(非thinkPHP用户可以忽略,直...

尘世如潮 ⋅ 2016/06/17 ⋅ 1

Codeigniter(CI)结合PHPExcel类完成数据导入

安装PHPExcel到Codeigniter 1) 解压压缩包里的Classes文件夹中的内容到applicationlibraries目录下,目录结构如下: – applicationlibrariesPHPExcel.php – applicationlibrariesPHPExcel...

Louis_88 ⋅ 2016/03/24 ⋅ 0

phpexcel导入并且有错时标记出文件错位位置

public function actionImport()//excel导入 { $model = new CrmCustomerImportForm(); $ok = ""; if (Yii::$app->request->isPost) {// if ($model->load(Yii::$app->request->post())) { ......

botkenni ⋅ 04/09 ⋅ 0

PHP导入Excel和导出数据为Excel文件

有时需要将Excel表格的数据导入到mysql数据库中,我们使用PHP的一个开源项目PHP-ExcelReader可以轻松实现Excel的导入。另外将mysql数据导出为Excel与本站上篇文章中导出CSV一样,只是将逗号分...

rin9958 ⋅ 2016/06/03 ⋅ 0

php处理Excel步骤介绍

php处理Excel步骤介绍 遇到问题 平时在工作中,时常会出现将数据库表导出为Excel或者将Excel导入数据库表的需求。这一需求早早就已经实现过了,为了方便导入导出,兄弟连www.lampbrother.net...

小贱1991 ⋅ 2016/07/25 ⋅ 0

子弹兄/phpexcel

PHPExcel类是php一个excel表格处理的类。 PHPExcel 是用来操作Office Excel 文档的一个PHP类库,它基于微软的OpenXML标准和PHP语言。可以使用它来读取、写入不同格式的电子表格,如 Excel (B...

子弹兄 ⋅ 2015/03/10 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Day 17 vim简介与一般模式介绍

vim简介 vi和Vim的最大区别就是编辑一个文件时vi不会显示颜色,而Vim会显示颜色。显示颜色更便于用户编辑,凄然功能没有太大的区别 使用 yum install -y vim-enhanced 安装 vim的三种常用模式...

杉下 ⋅ 50分钟前 ⋅ 0

【每天一个JQuery特效】根据可见状态确定是否显示或隐藏元素(3)

效果图示: 主要代码: <!DOCTYPE html><html><head><meta charset="UTF-8"><title>根据可见状态确定 是否显示或隐藏元素</title><script src="js/jquery-3.3.1.min.js" ty......

Rhymo-Wu ⋅ 59分钟前 ⋅ 0

OSChina 周四乱弹 —— 初中我身体就已经垮了,不知道为什么

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @加油东溪少年 :下完这场雨 后弦 《下完这场雨》- 后弦 手机党少年们想听歌,请使劲儿戳(这里) @马丁的代码 :买了日本 日本果然赢了 翻了...

小小编辑 ⋅ 今天 ⋅ 12

浅谈springboot Web模式下的线程安全问题

我们在@RestController下,一般都是@AutoWired一些Service,由于这些Service都是单例,所以并不存在线程安全问题。 由于Controller本身是单例模式 (非线程安全的), 这意味着每个request过来,...

算法之名 ⋅ 今天 ⋅ 0

知乎Java数据结构

作者:匿名用户 链接:https://www.zhihu.com/question/35947829/answer/66113038 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 感觉知乎上嘲讽题主简...

颖伙虫 ⋅ 今天 ⋅ 0

Confluence 6 恢复一个站点有关使用站点导出为备份的说明

推荐使用生产备份策略。我们推荐你针对你的生产环境中使用的 Confluence 参考 Production Backup Strategy 页面中的内容进行备份和恢复(这个需要你备份你的数据库和 home 目录)。XML 导出备...

honeymose ⋅ 今天 ⋅ 0

JavaScript零基础入门——(九)JavaScript的函数

JavaScript零基础入门——(九)JavaScript的函数 欢迎回到我们的JavaScript零基础入门,上一节课我们了解了有关JS中数组的相关知识点,不知道大家有没有自己去敲一敲,消化一下?这一节课,...

JandenMa ⋅ 今天 ⋅ 0

火狐浏览器各版本下载及插件httprequest

各版本下载地址:http://ftp.mozilla.org/pub/mozilla.org//firefox/releases/ httprequest插件截至57版本可用

xiaoge2016 ⋅ 今天 ⋅ 0

Docker系列教程28-实战:使用Docker Compose运行ELK

原文:http://www.itmuch.com/docker/28-docker-compose-in-action-elk/,转载请说明出处。 ElasticSearch【存储】 Logtash【日志聚合器】 Kibana【界面】 答案: version: '2'services: ...

周立_ITMuch ⋅ 今天 ⋅ 0

使用快嘉sdkg极速搭建接口模拟系统

在具体项目研发过程中,一旦前后端双方约定好接口,前端和app同事就会希望后台同事可以尽快提供可供对接的接口方便调试,而对后台同事来说定好接口还仅是个开始、设计流程,实现业务逻辑,编...

fastjrun ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部