PHP 导入Excel数据 到数据库
/**
* 导入excel
* @throws \PHPExcel_Exception
* @throws \PHPExcel_Reader_Exception
*/
public function impExcel($filename,$data){
if (!empty($_FILES)) {
$config = array(
'exts'=>array('xlsx','xls'),
'rootPath'=>"./",
'savePath'=> "Public/Uploads/$filename/",
'subName' => array('date','Ymd'),
);
$upload = new \Think\Upload($config);
if (!$info=$upload->upload()) {
$this->error($upload->getError());
}
vendor("PHPExcel.PHPExcel");
$file_name = $info['excel']['savepath'].$info['excel']['savename'];
//$objReader = \PHPExcel_IOFactory::createReader('Excel5');
$Excel_name = getcwd() . '/' .$file_name;
//$aaa = is_readable($Excel_name);
// $objPHPExcel = $objReader->load($Excel_name,$encode='utf-8');
$extension = strtolower( pathinfo($Excel_name, PATHINFO_EXTENSION) );
if ($extension =='xlsx') {
$objReader = new \PHPExcel_Reader_Excel2007();
$objPHPExcel = $objReader ->load($Excel_name);
} else if ($extension =='xls') {
$objReader = new \PHPExcel_Reader_Excel5();
$objPHPExcel = $objReader ->load($Excel_name);
} else if ($extension=='csv') {
$PHPReader = new \PHPExcel_Reader_CSV();
//默认输入字符集
$PHPReader->setInputEncoding('GBK');
//默认的分隔符
$PHPReader->setDelimiter(',');
//载入文件
$objPHPExcel = $PHPReader->load($Excel_name);
}
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumn = $sheet->getHighestColumn(); // 取得总列数
for($i=2;$i<=$highestRow;$i++)
{
$data['name'] = $objPHPExcel->getActiveSheet()->getCell("A".$i)->getValue();
$data['tel'] = $objPHPExcel->getActiveSheet()->getCell("B".$i)->getValue();
$data['zjh'] = $objPHPExcel->getActiveSheet()->getCell("C".$i)->getValue();
$data['sheng'] = $objPHPExcel->getActiveSheet()->getCell("D".$i)->getValue();
$data['shi'] = $objPHPExcel->getActiveSheet()->getCell("E".$i)->getValue();
$data['address']= $objPHPExcel->getActiveSheet()->getCell("F".$i)->getValue();
$data['money']= $objPHPExcel->getActiveSheet()->getCell("G".$i)->getValue();
$data['hk_time']= $objPHPExcel->getActiveSheet()->getCell("H".$i)->getValue();
$data['nanyi']= $objPHPExcel->getActiveSheet()->getCell("I".$i)->getValue();
$data['uid'] = $_SESSION['user']['id'];
$data['time'] = date("Y-m-d H:i:s");
M('release')->add($data);
}
$this->success('导入成功!');exit();
}else
{
$this->error("请选择上传的文件");
}
}
调用:
if(IS_POST)
{
$data['reason'] = I("post.reason","","trim");
$data['type'] = I("post.type","","trim");
// $data['qixian'] = I("post.qixian","","trim");
// $data['comm'] = I("post.comm","","trim");
if(!empty($_FILES)){
$this->impExcel('batch_release',$data);
}
}
PHP 导入Excel数据 到数据库的更多相关文章
- 【转】 如何导入excel数据到数据库,并解决导入时间格式问题
在办公环境下,经常会用到处理excel数据,如果用写程序导入excel数据到数据库那就太麻烦了,涉及解析excel,还要各种格式问题,下面简单利用数据库本身支持的功能解决这类导入问题. 准备 创建表 ...
- .net导入excel数据到数据库中
在开发过程中我们经常面临着需要将数据导出或者导入到系统中,例如一些生产管理系统,项目管理系统等等都会有这样的需求: 将excel数据到系统中思路:获取excel中每一行的数据,然后存入集合中,批量添加 ...
- 导入excel数据到数据库
1.上传excel到服务器 jsp页面代码 <form action="actionname" method="post" id="form1& ...
- java 使用poi 导入Excel 数据到数据库
由于我个人电脑装的Excel是2016版本的,所以这地方我使用了XSSF 方式导入 . 1先手要制定一个Excel 模板 把模板放入javaWeb工程的某一个目录下如图: 2模板建好了后,先实现模板下 ...
- Web服务器与数据库服务器分离 导入 Excel数据至数据库
一般情况一般项目WEB服务器与数据库均部署在一台服务器,文件上传,数据导入在一台服务器完成.web服务器与数据库服务器分离,文件上传与数据导入将分布在两台服务器或多台服务器之间.本案例为两台服务器,具 ...
- java 对excel操作导入excel数据到数据库
加入jar包jxl.jar ===================services层掉用工具类==================================== // 导入 public Lis ...
- 如何批量导入excel数据至数据库(MySql)--工具phpMyAdmin
之前由于数据储存使用excel保存了所有数据,经过初步数据筛选,数据量近4000条.一条一条录入数据库显然是不可行的.以下是我所操作的步骤: 1.只保留excel的数据部分,去除第一行的具体说明 2. ...
- MYSQL 导入Excel数据到数据库中
1,先把excel的数据整理整齐,如每列都要保持同样的格式:就一列一列的数据: 2,导出excel的数据为CSV格式,即把excel的数据另存为xxxx.csv;: 3,用EditPlus工具将xxx ...
- Winform导入Excel数据到数据库
public partial class ImportExcel : Form { AceessHelpers accessHelper = new AceessHelpers(); public I ...
随机推荐
- 7、Spring Cloud Hystrix
1.Spring Cloud Hystrix简介 (1).分布式问题 复杂分布式体系结构中的应用程序有数十个依赖关系,每个依赖关系在某些时候将不可避免地失败. 多个微服务之间调用的时候,假设微服务A调 ...
- 第一章、Docker 简介
笔记内容来自:第一本Docker书 [澳] James Turnbull 著 李兆海 刘斌 巨震 Docker 是一个能够把开发的应用程序自动部署到容器的开源引擎.(由Docker 公司,前dot ...
- Json处理方式记录
1.可以直接使用Parse方法 JObject jObject = JObject.Parse(res); string mediaId = jObject["media_id"] ...
- C++ 纯虚函数与抽象类——virtual 和纯说明符 “=0”
什么时候使用纯虚函数 某些类,在现实角度和项目角度都不需要实例化(不需要创建它的对象),这个类中定义的某些成员函数只是为了提供一个形式上的接口,准备上子类来做具体的实现.此时这个方法就可以定义为&qu ...
- PHP字符串你不知道的事
PHP常见的定义字符串的方式有那些? 1.单引号 在单引号中,任何特殊字符都会按原样输出[除\.\'将会被转义输出],不是什么都不解析的,这是很多人的误解 echo 'this is a var!'. ...
- monkey 基本用法
monkey测试步骤: 一.使用模拟机 1.安装好虚拟机,比如说天天模拟机.夜神模拟机.雷神模拟机 2.将需要测试的APK装在虚拟机上 3.cmd>adb shell 连接模拟机 4.输入命令m ...
- cmd.exe解释器漏洞
安全研究员Julian Horoszkiewicz发现了cmd.exe命令行解释器中的漏洞,该漏洞允许执行任意命令. 在寻找新的攻击媒介以允许Windows中注入命令时,Khoroshkevich发现 ...
- java_day03
一.this关键字的作用 昨天学了Java private 关键字 ,private关键字主要是为了 保护变量 ,感觉用着好像并不是特别方便 如果需要访问本类当中的成员变量,需要使用的格式: this ...
- Visual Studio 2013中安装Resharper之后一些快捷键无法使用,比如F6和F12
快捷键是一个很好用的东西,尤其对于计算机从业者来说,好的快捷键能够高程度提高工作效率.像我们程序员经常需要团队开发,我们会遇到一个问题,那就是快捷键不一致问题,我一般会安装resharper,但是有的 ...
- 深入理解MySQL系列之redo log、undo log和binlog
事务的实现 redo log保证事务的持久性,undo log用来帮助事务回滚及MVCC的功能. InnoDB存储引擎体系结构 redo log Write Ahead Log策略 事务提交时,先写重 ...