我用的是thinkphp3.1框架,其他框架如ci、laravel等框架只需要将phpExcel的文件包放在对应的位置,然后能引用到就可以了。
首先,下载phpExcel的文件包,可以去官网下载,百度一下 有很多资源。我下载后放在了thinkphp的vendor文件夹,如图所示:
这里简单的讲下PHPExcel.php里面是些什么,就是一些已经封装好了的方法,所以使用起来很简单,只需要在用的时候先载入这个PHPExcel.php就可以直接调用里面的方法了,其他的都不用管,一切就是这么简简单单,所以php能够进行快速开发的一个重要原因就是有很多外部的开源插件,直接拿来用就可以了。
那么这里面有哪些方法呢?看图说话:
这只是截图中的一部分,大概就是一些设置、和获取单元格数据的方法,可以看phpexceil的文档说明,我们重点讲怎么导入数据,(导出数据也是同理)
要导入数据(以excel表格为例)
首先上传excel,这里为什么要上传一个excel,其实只要知道excel在本地的地址,也可以直接读取,考虑到在服务器上部署以后的情况,所以需要先上传excel文件,代码如下:
代码都贴出来了,其实跟上传图片是一样的,注意这里设置了只能使用.xls类型的excel表格,比如wps的那些就pass掉了,这里其实就是返回了以excel表格每一行为一个键的数组,那么现在大家都应该知道怎么做了,一般对于数据不大的情况,就直接用thinkphp的addAll()方法进行批量插入数据库,就实现了导入功能。
但是对于excel表格数据量特别大,而且要经过一些数据处理才能插入数据库的情况,通常除了要在上传时候控制excel表格的大小,还可以通过一张临时表,将表格数据存储下来,然后再对临时表里面的数据进行处理,这里就可以通过分页来查找临时表里面的数据,对小部分数据进行处理后再插入数据库
基本上到这里就可以算完成了!