PHP excel文件导入至mysql中!

    今天的项目需要一个导入excel文件到mysql的功能!
折腾了很久,去网上也找到一大堆的帖子!
    实现方式有几种:

1、使用扩展类库对excel文件进行操作!如:PHPExcel类包、phpexcelreader类文件(比较小巧,不需要复杂的操作时,推荐)
2、对excel文件另保存为csv文件,一种以逗号分隔值为形式的文件。

这里,实际的需要,只是导入excel数据,所以采用phpexcelreader进行操作!

为什么不用csv的形式,毕竟对于客户来说,还要对excel文件再另存为csv格式,对客户来说有些麻烦!
没办法,客户是上帝!

下面就贴出使用phpexcelreader实例!

下载地址:http://sourceforge.net/projects/phpexcelreader/
拿到下载包中的oleread.inc 、 reader.php这两个文件,其他的文件是说明和使用实例!

打开reader.php文件,在31行左右

//require_once 'PEAR.php';
require_once 'Spreadsheet/Excel/Reader/OLERead.php';
//require_once 'OLE.php';


修改为

//require_once 'PEAR.php';
require_once 'oleread.inc';
//require_once 'OLE.php';

:PHP-ExcelReader是一个读取Excel xsl文件内容的一个PHP类.它需要OLE包支持,但不需要运行在Windows平台上.您能从这里获取到OLE包. 从2i版开始,oleread.inc文件包含在PHP ExcelReader发行包中,所以不再需要包含OLE包了. 安装下载包含多个文件,只有2个,reader.php和oleread.inc,是运行ExcelReader必须的,其它文件是一个应用例子,自述文件等. 运行所有必需的是在项目中包含类文件(reader.php).接着包含oleread.inc.


下面贴出部分代码:

  require_once '/excel/reader.php';$data = new Spreadsheet_Excel_Reader();$data->setOutputEncoding('utf-8'); //输出编码$data->read($uploadfile_xls); //读取缓存中的xls文件error_reporting(E_ALL ^ E_NOTICE); //保存等级设置$data_list = array();$fields = $data->sheets[0]['cells'][1];$fields = array_map("trim", $fields); //去除值的空白符

  /* 打印数据
  for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
    for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
        echo "\"".$data->sheets[0]['cells'][$i][$j]."\",";
    }
      echo "\n";
  }
  //print_r($data);  
  */
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {$data_list[$i][] = $data->sheets[0]['cells'][$i][$j];}$data_list[$i] = array_map("trim", $data_list[$i]); //去除值的空白符$data_list[$i] = array_combine($fields, $data_list[$i]);}
  var_dump($data_list);

 


如上,我们就获取到了我们想要的数据格式了!excel数据完美保存!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/302472.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

我所理解的开源软件供应链安全

点击上方“开源社”关注我们| 作者&#xff1a;庄表伟| 编辑&#xff1a;钱英宇| 设计&#xff1a;谭嘉露| 责编&#xff1a;王玥敏1供应链与断供隐喻会帮助人&#xff0c;也会误导人。当我们谈到“供应链”时&#xff0c;会产生哪些联想&#xff1f;环环相扣&#xff1f;缺一不…

82 个代码案例实践,带你学好 Python 机器学习

全世界有3.14 % 的人已经关注了数据与算法之美如果村里通了网&#xff0c;那你一定知道【AI】人工智能。如果你会网上冲浪&#xff0c;那你一定看到过【ML】机器学习。小编在网上看到一个段子&#xff1a;ML派坐落美利坚合众山中&#xff0c;百年来武学奇才辈出&#xff0c;隐然…

Python进阶08 异常处理

作者&#xff1a;Vamei 出处&#xff1a;http://www.cnblogs.com/vamei 欢迎转载&#xff0c;也请保留这段声明。谢谢&#xff01; 本文特别感谢kylinfish的纠正&#xff0c;相关讨论见留言区。 异常处理 在项目开发中&#xff0c;异常处理是不可或缺的。异常处理帮助人们debug…

查询程序崩溃日志_PC 崩溃报告途径 amp; 临时解决方法

TC Sera (社区经理)&#xff1a;你好&#xff01;如果您在电脑游戏中遇到与 Nvidia 驱动程序相关的崩溃情况&#xff0c;请打开视频设置(Video Settings)中的诊断模式(Diagnostics Mode)并重新启动游戏。如果您遇到问题&#xff0c;请打包&#xff1a;%localappdata%\Gears5\Sa…

C# ConcurrentBag的实现原理

一、前言笔者最近在做一个项目&#xff0c;项目中为了提升吞吐量&#xff0c;使用了消息队列&#xff0c;中间实现了生产消费模式&#xff0c;在生产消费者模式中需要有一个集合&#xff0c;来存储生产者所生产的物品&#xff0c;笔者使用了最常见的List<T>集合类型。由于…

Linux里10个最危险的命令

全世界只有3.14 % 的人关注了数据与算法之美Linux命令行佷有用、很高效&#xff0c;也很有趣&#xff0c;但有时候也很危险&#xff0c;尤其是在你不确定你自己在正在做什么时候。推荐阅读Linux之父林纳斯自传《只是为了好玩》这篇文章将会向你介绍十条命令&#xff0c;但你最好…

arcgis xml 下载 切片_GIS开发:Arcgis的切片格式

常规的地图切片&#xff0c;存储在计算机的目录&#xff0c;一般都是以数字的模式&#xff0c;表现层级的文件夹名称&#xff0c;无外乎缩放等级(level)&#xff0c;横向的切片数(x),纵向的切片数(y)&#xff0c;例如下边的一个切片存放文件夹&#xff0c;按照level\y\x.jpg进行…

管理Apache服务器访问日志

管理Apache服务器访问日志 1&#xff0e;相关配置文件说明 一个优秀的Linux网络管理员会密切关注服务器日志系统&#xff0c;这些日志可以提供异常访问的线索。Apache可以记录所有的访问请求&#xff0c;同样&#xff0c;错误的请求也会记录。Apache配置文件中&#xff0c;需要…

《.NET内存管理宝典》在京东上架销售啦!

为什么要阅读本书正如本书第14章14.3节所提到的&#xff0c;如下类型的应用程序十分需要本书的知识。● 金融软件&#xff1a;特别是实时交易和所有需要基于大量各种数据以尽快得出答案的分析决策。● 大数据&#xff1a;虽然大数据通常都是批量、慢速处理&#xff0c;…

让你立刻爱上数学的10个算术游戏

全世界只有3.14 % 的人关注了数据与算法之美死理性派的小编经常会被问到的一个问题&#xff1a;数学到底哪里有趣了&#xff0c;数学之美又在哪里&#xff1f;这篇文章精心选择了 10 个老少咸宜的算术问题&#xff0c;以定理、趣题甚至未解之谜等各种形式带领大家窥探数学世界的…

python json方法详解_python详解json模块

我们在做工作中经常会使用到json模块&#xff0c;今天就简单介绍下json模块什么是jsonJSON &#xff0c;全称为JavaScript Object Notation&#xff0c; 也就是JavaScript 对象标记&#xff0c;它通过对象和数组的组合米表示数据&#xff0c;构造简洁但是结构化程度非常高&…

iPhone 的 Push(推送通知)功能原理浅析

第一部分&#xff1a;Push原理(以下绝大多数内容参考自、图片来自iPhone OS Reference Library)机制简介Push 的工作机制可以简单的概括为下图图中&#xff0c;Provider是指某个iPhone软件的Push服务器。 APNS 是Apple Push Notification Service&#xff08;Apple Push服务器&…

关于C#异步编程的建议

基于任务的异步编程模型 (TAP) 提供了异步代码的抽象化。你只需像往常一样将代码编写为一连串语句即可。就如每条语句在下一句开始之前完成一样&#xff0c;你可以流畅地阅读代码。编译器将执行许多转换&#xff0c;因为其中一些语句可能会开始运行并返回表示正在进行的工作的 …

编程从业五年的十四条经验,句句朴实

全世界只有3.14 % 的人关注了数据与算法之美排列不分先后&#xff1a;1. 当性能遇到问题时&#xff0c;如果能在应用层进行计算和处理&#xff0c;那就把它从数据库层拿出来。排序和分组就是典型的例子。在应用层做性能提升总是要比在数据库层容易的多。就像对于MySQL&#xff…

hashmap扩容 面试_HashMap面试,看完这一篇就够了(上)

以下HashMap源码的解析都是基于java8来讲解的。HashMap的结构是数组加链表的形式(jdk7中也是)&#xff0c;在java8中引入了红黑树&#xff0c;由于红黑树的时间复杂度是O(log n)&#xff0c;引入红黑树是为了解决在哈希冲突很严重的时候导致链表太长&#xff0c;从而引起的查找…

动态更改屏幕方向LANDSCAPE与PORTRAIT 转

动态更改屏幕方向……LANDSCAPE与PORTRAITpackage irdc.ex05_22;import android.app.Activity;import android.content.pm.ActivityInfo;import android.os.Bundle;import android.view.Display;import android.view.View;import android.widget.Button;import android.widget.…

C# action,delegate,func的用法和区别

以前我都是通过定义一个delegate来写委托的&#xff0c;但是最近看一些外国人写的源码都是用action和func方式来写&#xff0c;当时感觉对这很陌生所以看起源码也觉得陌生&#xff0c;所以我就花费时间来学习下这两种方式&#xff0c;然后发现确实代码简洁了不少。这两种方式我…

java实现红包要多少钱_Java实现抢红包算法,附完整代码(公平版和手速版)

当我们在群里抢红包时真的是手速越快红包金额越大吗&#xff1f;答案当然是并不是&#xff0c;都说了是拼手气&#xff0c;岂能是拼手速&#xff01;不过也可以有拼手速的方法二倍均值法(公平版)这是一种很合理很公平的抢红包算法了&#xff0c;绝对不会让你拼手速的&#xff0…

堆和栈概念整理

1.内存管理方式&#xff1a; 堆&#xff1a;一般由程序员分配释放&#xff0c;程序员申请时需要指明大小&#xff0c;leg,C语言中malloc函数&#xff1a;p1(char*)malloc(10),C中&#xff1a;p2new char[20].若程序员不去释放&#xff0c;当程序结束时可能由操作系统释放 &…

.Net之Swagger基础使用

介绍Swagger 是一个规范和完整的框架&#xff0c;用于生成、描述、调用和可视化 RESTful 风格的 Web 服务。日常可以用于后端开发人员测试接口或者前后端联调使用。从.net5开始&#xff0c;swagger已经集成到vs2019编译器中&#xff0c;可以通过勾对选项“启用OpenAPI支持”显示…