//参数初始化
$filePath = ''; if ($_FILES["file"]["error"] > 0) {
returnJSON(ERROR_INVALID, $_FILES["file"]["error"]);
} $filePath = $_FILES["file"]["tmp_name"]; //建立reader对象
$this->load->library('PHPExcel');
$PHPReader = new PHPExcel_Reader_Excel2007();
if (!$PHPReader->canRead($filePath)) {//如果不是excel2007,尝试使用excel5
$PHPReader = new PHPExcel_Reader_Excel5();
if (!$PHPReader->canRead($filePath)) {
returnJSON(ERROR_INVALID, 'excel not existing');
}
} //建立excel对象,此时你即可以通过excel对象读取文件,也可以通过它写入文件
$PHPExcel = $PHPReader->load($filePath); //导入第一个工作表的数据
$this->db->truncate('dzg_card_info'); //清理表
$currentSheet = $PHPExcel->getSheet(0); //读取excel文件中的第一个工作表
$columnCount = $currentSheet->getHighestColumn(); //取得最大的列号
$rowCount = $currentSheet->getHighestRow(); //取得一共有多少行
for ($rowIndex = 2; $rowIndex <= $rowCount; $rowIndex++) {
$name = iconv('utf-8', 'gbk', $currentSheet->getCell('B' . $rowIndex)->getValue());
$skill = iconv('utf-8', 'gbk', $currentSheet->getCell('C' . $rowIndex)->getValue());
$create_time = iconv('utf-8', 'gbk', $currentSheet->getCell('D' . $rowIndex)->getValue());
$this->admin_model->insertCardInfo($name, $skill, $create_time);
} //导入第二个工作表
$this->db->truncate('dzg_card_message'); //清理表
$currentSheet = $PHPExcel->getSheet(1); //读取excel文件中的第一个工作表
$columnCount = $currentSheet->getHighestColumn(); //取得最大的列号
$rowCount = $currentSheet->getHighestRow(); //取得一共有多少行
for ($rowIndex = 2; $rowIndex <= $rowCount; $rowIndex++) {
$uid = iconv('utf-8', 'gbk', $currentSheet->getCell('B' . $rowIndex)->getValue());
$message = iconv('utf-8', 'gbk', $currentSheet->getCell('C' . $rowIndex)->getValue());
$this->admin_model->insertCardMsg($uid, $message);
}
        <form action="index.php?c=admin&m=importExcel&d=admin" method="post" enctype="multipart/form-data">
<label for="file">导入excel:</label>
<input type="file" name="file" id="file" />
<input type="submit" name="submit" value="提交" />
</form>

PHPExcel 多工作表 导入的更多相关文章

  1. PHPExcel 多工作表 导出

    //浏览器输出excel header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ...

  2. PHPExcel导出工作蒲(多表合并)教程+详细代码解读

    最近做了一个需求,导出统计数据,因为需要同时导出多个不同的统计数据,所以不能像以往导出数据列表一样去实现这个需求,刚好空下来就记录一下(PHPExcel导出Excel多sheet合并) 一.主要使用的 ...

  3. PHP用PHPExcel导出有多个工作表的Excel表格(thinkPHP3.2.3)

    直接上代码: //导出excel public function excel() { //引入相关文件 import("Org.Util.PHPExcel"); import(&q ...

  4. tp3.2.3运用phpexcel将excel文件导入mysql数据库

    1,下载PHPExcel 2,配置将下载好的PHPExcel文件与PHPExcel.php 放到thinkphp 根目录 include/Library/Org/Util/下面 3,同时将PHPExc ...

  5. PHPExcel集成对数据导入和导出

    <?php /** * Created by PhpStorm. * User: admin * Date: 2017/8/15 * Time: 9:07 */ class User exten ...

  6. 使用命令行将Excel数据表导入Mysql中的方法小结

    从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...

  7. 【Access2007】将Excel表导入到Access2007在现有的表成

    将Excel表导入到Access2007,你会发现邪恶Access2007这将帮助你自己主动创建表.您是否想插入完全没问你到一个现有的表. 然后,我们需要解决这个问题: 一.常的步骤先将Excel表导 ...

  8. 此文本文件包含的数据无法放置在一个工作表中 gb2312

    excel导入csv,csv要从unicode转为gb2312, 否则提示:此文本文件包含的数据无法放置在一个工作表中

  9. C# 获得Excel工作簿Sheet页面(工作表)集合的名称

    #region 获取Excel工作薄中Sheet页(工作表)名集合 /// <summary> /// 获取Excel工作薄中Sheet页(工作表)名集合 /// </summary ...

随机推荐

  1. Manifest merger failed : uses-sdk:minSdkVersion 9 cannot be smaller than version 10 declared in library

    Error:Execution failed for task ':app:processDebugManifest'. > Manifest merger failed : uses-sdk: ...

  2. 关于const限定符

    1.  指向非常量数据的非常量指针 具有最高的数据访问极限 .不包含const关键字. 2. 指向常量数据的非常量指针 指针可以被改写,使其指向相应类型的任何数据项, 但是它所指向的数据项的值是不能被 ...

  3. Delphi资源文件(全面分析之位图、光标、图标、AVI、JPEG、Wave)

    几乎每个Windows应用程序都使用图标.图片.光标等资源.资源是程序的一部分,但是它是不可执行代码.下面我们就详细介绍资 源文件在Delphi5中建立和使用方法.  1.把资源放到Exe文件的优点  ...

  4. 攻击DotCom小游戏

    许久都没写博客了,些许是前段时间有些懈怠,今天来写博客,想记录下做过的事情,怕以后电脑换了,以前做的小项目也跟着丢了,总结下最近做的一个小游戏: 游戏目的:建立一个7X7的网格,选择其中的连续的三格来 ...

  5. 习题3.15 自调整表Find例程

    #include<stdio.h> #include<stdlib.h> typedef int * List; /* 自调整表的Find数组实现 */ int Find(Li ...

  6. UI线程与worker线程

    也谈谈我对UI线程和worker线程的理解 UI线程又叫界面线程,能够响应操作系统的特定消息,包括界面消息.鼠标键盘消息.自定义消息等,是在普通的worker线程基础上加上消息循环来实现的,在这个消息 ...

  7. Android常用控件之GridView使用BaseAdapter

    我们可以为GridView添加自定义的Adapter,首先看下用自定义Adapter的显示效果 在布局文件main.xml文件中定义一个GridView控件 <RelativeLayout xm ...

  8. C#.net连接SQLite及遇到的问题

    1.Slite简介 SQLite,是一款轻型的数据库,是遵守ACID的关联式数据库管理系统,它的设计目标是嵌入式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需 ...

  9. oracle update语句的几点写法

    update两表关联的写法包括字查询 1.update t2 set parentid=(select ownerid from t1 where t1.id=t2.id); 2. update tb ...

  10. WinForm DataGridView看似刷新的问题

    昨天同事winform遇到一个问题, 窗体上有一个时间控件,和一堆文本,下拉控件,时间控件是每秒都在动态走的 窗体下发一个DataGridView 控件显示保存后的数据 保存的数据库是在另一台机器B上 ...