文档章节

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

rin9958
 rin9958
发布于 2016/06/11 21:32
字数 557
阅读 149
收藏 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
完整的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
phpExcel常用方法详解【附有php导出excel加超级链接】

http://www.codeplex.com/PHPExcel http://www.phpexcel.net 开发包Tests目录有详细使用实例 支持中文,注意文件编码,文件保存为utf-8 写excel //Include class requireonce(‘Classes/PHPEx...

PHP007
2012/07/20
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周一乱弹 —— 眼看着这颗陨石砸了下来

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @莱布妮子:分享Nachtblut的单曲《Antik》 《Antik》- Nachtblut 手机党少年们想听歌,请使劲儿戳(这里) @mr_chip :上海的初雪之后有点冷 ...

小小编辑
16分钟前
14
4
Confluence 6 修改导航显示选项

选择 子页面(Child pages)来在边栏中查看当前页面的子页面。 选择 页面树(Page tree)来查看整个空间的页面树,扩展当前的页面。 你也可以选择是否完全隐藏导航显示选项或者添加你希望可见...

honeymose
48分钟前
0
0
Ubuntu18.04 安装MySQL

1.安装MySQL sudo apt-get install mysql-server 2.配置MySQL sudo mysql_secure_installation 3.设置MySQL非root用户 设置原因:配置过程为系统root权限,在构建MySQL连接时出现错误:ERROR...

AI_SKI
今天
3
0
3.6 rc脚本(start方法) 3.7 rc脚本(stop和status方法) 3.8 rc脚本(以daemon方式启动)

3.6-3.7 rc脚本(start、stop和status方法) #!/usr/bin/env python# -*- coding: utf-8 -*-# [@Version](https://my.oschina.net/u/931210) : python 2.7# [@Time](https://my.oschina.......

隐匿的蚂蚁
今天
3
0
Cnn学习相关博客

CNN卷积神经网络原理讲解+图片识别应用(附源码) 笨方法学习CNN图像识别系列 深度学习图像识别项目(中):Keras和卷积神经网络(CNN) 卷积神经网络模型部署到移动设备 使用CNN神经网络进行...

-九天-
昨天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部