文档章节

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

rin9958
 rin9958
发布于 2016/06/11 21:32
字数 557
阅读 147
收藏 2

最近在做一个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
程序员
私信 提问
phpExcel导出大量数据出现内存溢出错误的解决方法

我们经常会使用phpExcel导入或导入xls文件,但是如果一次导出数据比较大就会出现内存溢出错误,下面我来总结解决办法 phpExcel将读取的单元格信息保存在内存中,我们可以通过 复制代码代码如下...

蜗牛奔跑
2015/07/17
0
0
PHPExcel常用方法汇总(转载)

PHPExcel常用方法汇总(转载) 博客分类: 脚本语言 ExcelOfficePHP单元测试Cache PHPExcel常用方法汇总 Posted by zeal on 2008-02-27 11:29 , 6027 characters | + 2 - 1 English 转载请保留...

niceguy_php
2014/02/24
0
0
基于PHPExcel库的EXCEL导入导出

PHPExcel类是php一个excel表格处理插件,最近由于工作需要用到了这个插件,完成了一个excel导入导入的功能。现在将主要逻辑整理一下和大家分享,有需要的可以参考一下。 下面的事例只是完成了...

r-ricky
2015/06/19
0
0
完整的thinphp+phpexcel实现excel报表的输出(有图有效果)

准备工作: 1.下载phpexcel1.7.6类包; 2.解压至TP框架的ThinkPHPVendor目录下,改类包文件夹名为PHPExcel176,目录结构如下图; 编写代码(以一个订单汇总数据为例): 1. 创建数据库及表; 2...

mickelfeng
2013/05/08
0
0
phpexcel导入导出excel文件常用操作

web程序开发的时候,经常有关于操作Excel的需求.PHPExcel类是我用过的比较实用的工具[当然,除了那惊人的内存占用].PHPExcel本身的tar包里面已经有非常详细的demo,在这里我记录我使用到的一些工...

binzone
2014/04/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

storm 环境搭建

1.下载解压 下载地址:http://storm.apache.org/downloads.html

MrPei
27分钟前
1
0
Python Base - 读写文件,字符串拼接,单引号

字符转义 读写文件cvs 字符串拼接,替换 import csvcsv_file_name = 'cardbin.csv'# insert into `card_bin_code` (name_of, code_of, card_no_prefix, bank_code) values ('中国银行......

园领T
29分钟前
1
0
基于JQUERY BOOTSTRAP 最简单的loading遮罩层

<%--loading遮罩层--%><div class="modal fade" id="loadingModal" backdrop="static" keyboard="false">   <div style="width: 200px;height:20px; z-index: 20000; position: abs......

颖辉小居
29分钟前
1
0
springboot+kafka

1,首先springboot对kafka的支持也很好,同样是在配置文件中配置好参数,然后就可以直接使用。先说一下,很简单,,,不要怕 2,我用的依赖是 <dependency> <groupId>org.springframewor...

我真是小菜鸡
33分钟前
3
0
webservice动态客户端自我记录备份(spring boot)

动态客户端相比直接调用webservice的客户端代码要简单很多,但实际上很多工作是java自己替我们做掉了。简单记录一下内容,以备后续使用: pom文件只需要引入: <!-- CXF webservice --><de...

checkboxMan
39分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部