使用phpExcel批量上传excel表数据到mysql数据库中
/*批量上传数据*/ if(isset($_POST['submit']) && $_POST['submit']=='上传文件')
{
//导入类文件
require_once ("../Classes/PHPExcel.php");
require_once ("../Classes/PHPExcel/IOFactory.php"); //判断是否未选中文件
if($_FILES['file']['size']==0)
{
echo "<script>alert('您未选中任何文件,请重新选择!');history.go(-1);</script>";
} //限制上传表格大小,最大为5M
$file_size=$_FILES['file']['size'];
$maxSize=5242880;
if($file_size >= $maxSize)
{
echo "<script>alert('上传失败,上传表格的大小不能超过5M');history.go(-1);</script>";
} //检测上传文件的类型
$type=$_FILES['file']['type'];
$type1='application/vnd.openxmlformats-officedocument.spreadsheetml.sheet';
$type2='application/vnd.ms -excel';
if(($type!==$type1)&&($type !==$type2))
{
echo "<script>alert('您上传的文件不是EXCEL表格!');history.go(-1);</script>";
} //对于不同类型的EXCEL文件,传入不同的PHPEXCEL类
if($type==$type1)
{
require_once ("../Classes/PHPExcel/Reader/Excel2007.php");
$objReader = \PHPExcel_IOFactory::createReader('Excel2007');
}
elseif($type==$type2)
{
require_once ("../Classes/PHPExcel/Reader/Excel5.php");
$objReader = \PHPExcel_IOFactory::createReader('Excel5');
}
else
{
echo "<script>alert('您上传的文件不是EXCEL表格!')</script>";
} //判断是否成功传入服务器,取出放在缓存中的表格
if(is_uploaded_file($_FILES['file']['tmp_name']))
{
$objPHPExcel = new PHPExcel();
$filename = $_FILES['file']['tmp_name'];
$objPHPExcel = PHPExcel_IOFactory::load($filename); //得到表单、行数及列数
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();
$highestColumn = $sheet->getHighestColumn(); $usefulColumn= PHPExcel_Cell::columnIndexFromString($highestColumn); $cell='';
$i=0;
//循环读取插入数据库
for($k = 2; $k<=$highestRow; $k++){
for($j=0; $j<$usefulColumn; $j++){
$colIndex = PHPExcel_Cell::stringFromColumnIndex($j);
$address = $colIndex.$k;
$cell .= "'". addslashes($sheet->getCell($address)->getValue())."'".','; }
$strValue=substr($cell,0,-1);
$sql="INSERT INTO page VALUES (null,$strValue)";
$result=mysqli_query($link,$sql);
$i++;
$cell='';
}
if ($result)
{
echo "<script>alert('成功导入".$i."条数据');window.location.href='../View/AddPaper.php';</script>";
}
else
{
echo "<script>alert('添加失败!');window.location.href='../View/AddPaper.php';</script>";
exit();
}
}
else
{
echo "<script>alert('上传失败!');history.go(-1);</script>";
}
}
使用phpExcel批量上传excel表数据到mysql数据库中的更多相关文章
- Java版将EXCEL表数据导入到数据库中
1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls ...
- 将 excel文件数据导入MySQL数据库中
第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创 ...
- 把execel表数据导入mysql数据库
今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...
- layui上传Excel更新数据并下载
前言: 最近做项目遇到了一个需求,上传Excel获取数据更新Excel文档,并直接返回更新完的Excel到前端下载:其实需求并没有什么问题,关键是前端用到的是layui上传组件(layui.uploa ...
- jQuery+php+ajax+PHPExcel实现上传excel文件导入数据库
项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...
- PHPExcel实现上传excel文件导入数据库
项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...
- Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值
<?php namespace App\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminat ...
- vue下载和上传excle数据文件,解析excel文件数据并存在数据库中
下载: VUE: window.open("xxxx/downloadOldTaskDataFile.do_", "_blank"); JAVA: /** * ...
- PHP Excel导入数据到MySQL数据库
数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按 ...
随机推荐
- C语言有GetOpenFile吗?
windows中有个GetOpenFile的函数,就是上面那个啦!!我们怎么来实现呢?要我用C语言写出来我真的跪了..但是我们可以输入文件的[绝对路径],配合fopen函数来实现的.. 注意问题 ①文 ...
- 在oracle RAC 环境下用 PL/SQL Developer debug procedure 出现 hang 的情况
现象描述: 用plsql developer 连接编译procedure 的时候都很正常.一旦开始Test进入Debug模式的时候就Hang住了. 初步猜测是没有权限,可是是DBA角色呀,如果没有权限 ...
- 使用min-content实现容器宽度自适应于内部元素
前言 设计师可以分为如下两类: 先做好设计,然后将内容放入静态框架中 优秀的设计师充分考虑内容的各个方面及其上下文,并创建适合于内容的设计 HTML原生就是响应式的(HTML内容在视口内流式的分布). ...
- Dynamics CRM 4.0升级Dynamics CRM 2013后全局Ribbon的修改
最近在为一个客户在Dynamics CRM 4.0到Dynamics CRM 2013的升级,升级之后发现原来在Dynamics CRM 4.0中定义的全局Ribbon按钮像牛皮癣一样,在每个实体页面 ...
- 【Android学习入门】Android中activity的启动模式
启动模式简单地说就是Activity启动时的策略,在Androidmanifest.xml文件中的标签android:launchMode属性设置,在Android中Activity共有四种启动模式分 ...
- python-rrdtool
https://nagios-plugins.org/doc/guidelines.html nagios检测信息 host GPING OK – rtt min/avg/max/mdev = 0.8 ...
- HTML5 data-* 自定义属性操作及其注意点
在HTML5中添加了data-*的方式来自定义属性,所谓data-*实际上上就是data-前缀加上自定义的属性名,命名可以用驼峰命名方式,但取值是必需全部使用小写(后面会说),使用这样的结构可以进行数 ...
- S7-1500 读取V90/S120/S210/G120的常用驱动参数
S7-1500 读取V90/S120的常用驱动参数 此程序已更新,可以下载例子程序 https://files.cnblogs.com/files/lion-zheng/PLC_async_drive ...
- javascript 时间格式化方法
对jquery进行扩展的方法: //对时间格式化(jquery方法扩展) Date.prototype.Format = function (fmt) { //author: meizz var o ...
- 使用shell脚本实现在liunx上进行svn的上传下载更新功能
最近有个功能,是需要从在liunx上拉取svn地址,并创建一个新文件进行提交,shell脚本如下 #!/bin/bash echo "Hello World !" myFile=& ...