文档章节

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

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

精选30+云产品,助力企业轻松上云!>>>

最近在做一个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
粉丝 10
博文 113
码字总数 54109
作品 0
程序员
私信 提问
加载中
请先登录后再评论。
php导出excel分析(phpexcel-避免数字前面的0消失)

注意事项:1.开启zip扩展 2.打开 open_basedir='' 3.打开xmlwriter xmlreader扩展 phpexcel导出excel例子: $content = '数据库取出的数据'; $title = '连接关系比较'; $colname = 'CMDB数据......

deadmau5
2013/05/21
1K
0
phpexcel

首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类文件和文件夹是我们需要的,把classes解压到你项目的一个目录中...

xxfyqq
2014/08/07
96
0
ThinkPHP3.2.3使用PHPExcel类操作excel导出excel

如何导入excel请看:ThinkPHP3.2.3使用PHPExcel类操作excel导入读取excel // 引入PHPExcel类 import("Org.Util.PHPExccel"); import("Org.Util.PHPExccel.Reader.Excel5"); // 创建Excel文件......

osc_15ajvvu8
2019/03/26
7
0
PHP读取Excel内的图片

今天接到了一个从Excel内读取图片的需求,在网上查找了一些资料,基本实现了自己的需求,不过由于查到的一些代码比较久远,里面一些库方法已经被移除不存在了,所以不能直接移植到自己的项目...

osc_joco7w0s
2019/11/18
3
0
phpexcel使用说明

转自:http://blog.sina.com.cn/s/blog44b3f96d0101cczo.html 首先到phpexcel官网上下载最新的phpexcel类,下周解压缩一个classes文件夹,里面包含了PHPExcel.php和PHPExcel的文件夹,这个类...

风一样的世界
2014/12/02
178
0

没有更多内容

加载失败,请刷新页面

加载更多

java使用jsoup时绕过https证书验证

java 代码 增加一个工具类 在jsoup获取之前调用此方法 //your codeSSLHelper.init();Connection connect = Jsoup.connect(url).userAgent(USER_AGENT);connect.header("Accept","text/htm......

MeiJM
15分钟前
30
0
6 Message 消息提示框

1 element.js导入message import { Message } from 'element-ui'# 赋值给变量,便于this调用Vue.prototype.$message = Message 2 调用 this.$message.error('错误')类型有:success,w......

书阳
16分钟前
16
0
聊聊rocketmq-client-go的strategy

序 本文主要研究一下rocketmq-client-go的strategy AllocateStrategy rocketmq-client-go-v2.0.0/consumer/strategy.go type AllocateStrategy func(string, string, []*primitive.MessageQ......

go4it
43分钟前
21
0
BuildRun低代码开发教程八节 | 图表和仪表盘展示

课程说明 ▍ 1.1 课程实现功能 本课程为物联网应用平台设计一个仪表盘首页,包括以下内容: 卡片展示设备总数; 卡片展示网关总数; 卡片展示产品总数; 卡片展示产品分组总数; 图表展示各运...

BuildRun团队
47分钟前
23
0
JavaSE第03篇:Java基础语法之运算符和流程控制

本章将会延续JavaSE第02篇,详细讲解Java基础语法中的运算符和流程控制中的顺序结构、分支结构。 第一章:运算符 运算符,简而言之就是运算的符号。 我们通常所理解的运算一般和数学有关系,...

雷哒哒
50分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部