/*批量上传数据*/

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数据库中的更多相关文章

  1. Java版将EXCEL表数据导入到数据库中

    1.采用第三方控件JXL实现 try { //实例化一个工作簿对象 Workbook workBook=Workbook.getWorkbook(new File("F://qzlx.xls ...

  2. 将 excel文件数据导入MySQL数据库中

    第一步:先将Excel文件另存为文本文件(制表符分割) 第二步:将生成的txt文件另存,并修改编码格式utf8; 第三步:将文件放到指定位置,或自己想要的位置: G:\city.txt 第四步:避免创 ...

  3. 把execel表数据导入mysql数据库

    今天,是我来公司第二周的第一天. 作为新入职的实习生,目前还没适合我的实质项目工作,今天的学习任务是: 把execel表数据导入到mysql数据库,再练习下java操作JDBC. 先了解下execel ...

  4. layui上传Excel更新数据并下载

    前言: 最近做项目遇到了一个需求,上传Excel获取数据更新Excel文档,并直接返回更新完的Excel到前端下载:其实需求并没有什么问题,关键是前端用到的是layui上传组件(layui.uploa ...

  5. jQuery+php+ajax+PHPExcel实现上传excel文件导入数据库

            项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...

  6. PHPExcel实现上传excel文件导入数据库

            项目中需要批量导入数据,感觉这个需求以后也会经常用,必须总结分享下: 引入jquery的第三方表单插件: <scripttype="text/javascript&qu ...

  7. Laravel 上传excel,读取并写入数据库 (实现自动建表、存记录值

    <?php namespace App\Http\Controllers; use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminat ...

  8. vue下载和上传excle数据文件,解析excel文件数据并存在数据库中

    下载: VUE: window.open("xxxx/downloadOldTaskDataFile.do_", "_blank"); JAVA: /** * ...

  9. PHP Excel导入数据到MySQL数据库

    数据导出已经有了,怎么能没有数据导入呢,同样使用TP5框架,首先需要下载phpexcel.zip,放到第三方类库目录vendor目录下,然后有一个页面可以让你选择要导入的Excel文件,然后点击导入按 ...

随机推荐

  1. IOS Intro - NSDictionary and NSMutableDictionary

    NSDictionary.NSMutableDictionary的基本用法 1.不可变词典NSDictionary 字典初始化 NSNumber *numObj = [NSNumber numberW ...

  2. maya2014无法安装卸载激活失败

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  3. 标准I/O库(详解)(Standard I/O Library)

    文章转自:https://www.cnblogs.com/kingcat/archive/2012/05/09/2491847.html 自己在学习中,对此原文的基础之上进行补充. 什么是缓冲区 缓冲 ...

  4. c++关于map的find和count的使用

    编程的时候比较常用,今天记录一下,以后备用. 使用count,返回的是被查找元素的个数.如果有,返回1:否则,返回0.注意,map中不存在相同元素,所以返回值只能是1或0. 使用find,返回的是被查 ...

  5. HDU 2389 ——Rain on your Parade——————【Hopcroft-Karp求最大匹配、sqrt(n)*e复杂度】

    Rain on your Parade Time Limit:3000MS     Memory Limit:165535KB     64bit IO Format:%I64d & %I64 ...

  6. 记一次无法登录 wine QQ

    入Linux坑第X天,过了五一小长假,回来布置我的环境,本来不应该装一些不必要的东西分自己心,但还是装上,以便不时之需. 把输入法装好后,就安装了QQ,查过资料,都说wine_QQ国际版可以使用,于是 ...

  7. Weblogic中配置Active Directory Authentication Provider

    其要点或者容易出错的关键点是:(<>及其中说明代表需要替换的内容)         Host: ads.yourdomain.com         Host填AD服务器的域名或IP    ...

  8. JAVA避免入坑必备

    1.关于@Override Annocation 对于子类(包括并且特别是匿名类)中,重写父类的函数,一定要加上@Override.这会帮助你避免很多不必要的看起来让人恼怒的错误.比如,为什么子类重写 ...

  9. ArrayList、Vector、HashMap、HashSet

    1. list  和 set 的有序无序是否可重复 List是有序可重复的: Set是无序不可重复的: 2.ArrayList.Vector.HashMap.HashSet的默认初始容量.加载因子.扩 ...

  10. 文本框textarea根据输入内容自适应高度 和输入中文和数字换行解决方法

    textarea内容可从后台读取或手动输入,常规输入后中文和数字会出现换行问题 <style> #textarea { display: block; margin: 0 auto; ov ...