一.目的
先说为什么要写这篇博客,我的目标是,将一个excel文件导入到一个ThinkPHP的项目的数据库之中。这个看似简单的目标却让我搞了两天两夜,原因主要有两点,一个是自己没有php的基础,也不了解ThinkPHP这个框架,所以什么都是从零开始,许多可能基础好的人可能一弄就好的东西我都需要百度很久。这篇博客针对于零基础的同学,所以有的地方可能稍显啰嗦,大神多多见谅!
二.介绍情况
1.我的数据表结构是这样的
(。。。有没有同学不知道怎么看数据库的,反正我一开始连这个都不知道…这个是右击wampserver,就会看见一个PHPadmin,点就可以了)
2.要导入的EXCEL文件是这样的
三.事先准备
1.下载PHPExcel,这是待会儿我们处理EXCEL文件的第三方类库,并且将下载好的文件复制到这个路径下面wamp\www\ThinkPHP\Library\Vendor
里面是这样子的
四.编写代码(我的注释写的比较详细,就没有在外面单独说代码了)
1.根据MVC模式,我们也来分别弄一个控制器(ExcelController.class.php),视图(excel.html)和模型(UsersModel)。
这里补充一些ThinkPHP的基础知识
*a.一般控制器的名字要和对应视图名字一样(去掉个Controller),控制器文件的后缀一定是.class.php。
b.模型的名字和对应数据表的名字是一样的,当然要弄个前缀后缀什么的,比如,我的模型名字是UsersModel,那么它操纵的数据表就是think_users.*
2.控制器代码
<?php
namespace Home\Controller;
use Think\Controller;
Vendor('Excel.Classes.PHPExcel');/*引入PHPExcel类。我就是在这一步卡了超级久,总是报错找不到这个类,
气死人,网上面提示说用什么Import,require什么的,都不好使,就这个好使,当
然,别的方法到底行不行,我现在能力有限,搞不清楚.*/
class ExcelController extends CommonController {
//这个方法就是显示出对应的html页面,因为这个叫excelcontroller,所以它就会显示excel.html。
public function excel()
{
$this->display();
}
/* 这个函数就是最重要的函数啦,用来读取EXCEL文件,然后将它添加到数据库中,下面会有详细的解释*/
public function add</