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 ...
随机推荐
- kickstart 谷歌 D 2020 年 7 月 12 日 13: 00 - 16: 00
https://codingcompetitions.withgoogle.com/kickstart/round/000000000019ff08/0000000000386d5c (kick st ...
- 连接数从异常到 300 到 5(RDS MySQL 的一个大坑•后记)
在 <记 RDS MySQL 的一个大坑> 中,我提到遇到 User juxxxxxxxxxx already has more than 'max_user_connections' a ...
- cglib、orika、spring等bean copy工具性能测试和原理分析
简介 在实际项目中,考虑到不同的数据使用者,我们经常要处理 VO.DTO.Entity.DO 等对象的转换,如果手动编写 setter/getter 方法一个个赋值,将非常繁琐且难维护.通常情况下,这 ...
- 笔记-[APIO2010]特别行动队
笔记-[APIO2010]特别行动队 [APIO2010]特别行动队 \(f_i\) 表示将 \((j+1,j+2,\dots,i)\) 分为一组,已解决 \(i\) 之前的士兵的最小代价. \(a& ...
- AcWing 294. 计算重复
暴力 其实这题的暴力就是个模拟.暴力扫一遍 \(conn(s_1, n_1)\),若出现了 \(res\) 个 \(s_2\). 答案就是 \(\lfloor res / n1 \rfloor\). ...
- tcp/ip原理/三次握手/四次挥手
@ tcp/ip原理 1.1 tcp/ip三次握手 1.1.1 建立过程说明 a) 由主机A发送建立TCP连接的请求报文, 其中报文中包含seq序列号, 是由发送端随机生成的, 并且还将报文中SY ...
- 【Jmeter Linux环境下运行方法】
Jmeter 运行 1.cd jmeter/apache-jmeter-4.0/bin 2.执行 ./jmeter -n -t jmx脚本文件 -l 测结果.jtl文件 -e -o html文件路径 ...
- MISC-吹着贝斯扫二维码
题目 [安洵杯 2019]吹着贝斯扫二维码 解压附件,有36个文件和一个压缩包,压缩包带密码和备注 分析 文件类型 随便打开一个不明文件,是jpg图片啊(FF D8 FF) 改一个试试,有一个小块二维 ...
- mysql 8.0 主从复制配置
背景: 主库: 192.168.211.128 从库: 192.168.211.129 一.关闭防火墙 [root@node01 ~]# systemctl disable firewalld [ro ...
- 多任务-python实现-同步概念,互斥锁解决资源竞争(2.1.4)
@ 目录 1.同步的概念 2.解决线程同时修改全局变量的方式 3.互斥锁 1.同步的概念 同步就是协同步调,按照预定的先后次序进行运行,如你说完我在说 同步在子面上容易理解为一起工作 其实不是,同指的 ...