PHPExcel 多工作表 导入
//参数初始化
$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 多工作表 导入的更多相关文章
- PHPExcel 多工作表 导出
//浏览器输出excel header('Content-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet ...
- PHPExcel导出工作蒲(多表合并)教程+详细代码解读
最近做了一个需求,导出统计数据,因为需要同时导出多个不同的统计数据,所以不能像以往导出数据列表一样去实现这个需求,刚好空下来就记录一下(PHPExcel导出Excel多sheet合并) 一.主要使用的 ...
- PHP用PHPExcel导出有多个工作表的Excel表格(thinkPHP3.2.3)
直接上代码: //导出excel public function excel() { //引入相关文件 import("Org.Util.PHPExcel"); import(&q ...
- tp3.2.3运用phpexcel将excel文件导入mysql数据库
1,下载PHPExcel 2,配置将下载好的PHPExcel文件与PHPExcel.php 放到thinkphp 根目录 include/Library/Org/Util/下面 3,同时将PHPExc ...
- PHPExcel集成对数据导入和导出
<?php /** * Created by PhpStorm. * User: admin * Date: 2017/8/15 * Time: 9:07 */ class User exten ...
- 使用命令行将Excel数据表导入Mysql中的方法小结
从Excel数据表导入MySQL,已经做过好几次了,但每次都会碰到各种问题:invalid utf8 character string, data too long, ...,浪费了不少时间 为了提高 ...
- 【Access2007】将Excel表导入到Access2007在现有的表成
将Excel表导入到Access2007,你会发现邪恶Access2007这将帮助你自己主动创建表.您是否想插入完全没问你到一个现有的表. 然后,我们需要解决这个问题: 一.常的步骤先将Excel表导 ...
- 此文本文件包含的数据无法放置在一个工作表中 gb2312
excel导入csv,csv要从unicode转为gb2312, 否则提示:此文本文件包含的数据无法放置在一个工作表中
- C# 获得Excel工作簿Sheet页面(工作表)集合的名称
#region 获取Excel工作薄中Sheet页(工作表)名集合 /// <summary> /// 获取Excel工作薄中Sheet页(工作表)名集合 /// </summary ...
随机推荐
- Android输入法 监听事件
登录界面有一个输入用户名和密码的编辑框: private EditText et_userName;// 账户 private EditText et_password;// 密码 布局文件如下: & ...
- box-shadow 给图片添加内部阴影
box-shadow 是css3中定义的设置元素阴影的属性,其语法结构如下: <shadow> = inset? && <length>{2,4} && ...
- PHP开发调试环境配置
——基于wamp和Eclipse for PHP Developers 引言 为了搭建PHP开发调试环境,我曾经在网上查阅了无数的资料,但没有一种真正能够行的通的.因为PHP开发环境需要很多种软件相互 ...
- jchat:linux聊天程序2:MySQL
该软件使用的数据库为MySQL,因为它免费.开源,在linux下几乎就是最好的选择. 首先要在mysql中root用户新建数据库并赋权给本用户: create database jchat; gran ...
- 运用Detours库hook API(原理是改写函数的头5个字节)
一.Detours库的来历及下载: Detours库类似于WTL的来历,是由Galen Hunt and Doug Brubacher自己开发出来,于99年7月发表在一篇名为<Detours: ...
- Logstash 默认不处理一天前的文件
The default behavior of the file input plugin is to ignore files whose last modification is greater ...
- linux中fork创建进程讲解(转)
大家知道Linux中创建子进程的一个很好的方法是函数调用fork,但是很多初学者对fork的理解上可能有点困难.我们举个例子来看看fork的用法吧. 大家用fork的时候记住fork是 ...
- Eclipse快捷键大全(一)
Eclipse快捷键大全(一) 常用(系统默认): 1.Format (自动排版) : Ctrl+Shift+F 2.Organize Imports (自动导入) : Ctrl+Shift+O 3. ...
- android手动改动density(dpi)的方法
Android系统中会依据屏幕分辨率范围,制定默认的density,既320(xhdpi),那么我们也能够手动改动density. 改动的方式在system.prop中改动ro.sf.lcd_dens ...
- Acess错误:"文件共享锁定数溢出"
对于ACCESS数据库,如果通过大量的SQL来操作数据库或者直接操作大量的数据时,经常会出现这种错误: "文件共享锁定数溢出" 原因如下: Access数据库,同时操作大量 ...