/*批量上传数据*/

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. maya2012安装失败如何卸载重装

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

  2. GitKraken使用教程-基础部分(1)

    1. 首次打开程序 第一次打开GitKraken程序时, GitKraken会提示需要登陆,可以用github.com的账号登陆,或者用邮箱创建账号登陆(如图 1‑1). 图 1‑1登陆帐户界面 登陆 ...

  3. Java Executors小结

    一 Executors提供了一系列工厂方法用于创先线程池ThreadPoolExecutor线程池的具体实现类,一般用的各种线程池都是基于这个类实现的 返回的线程池都实现了ExecutorServic ...

  4. golang中并发的相关知识

    golang中done channel理解:https://segmentfault.com/a/1190000006261218 golang并发模型之使用Context:https://segme ...

  5. C#开发微信公众号.NET平台MVC微信开发Demo解决收不到消息的问题

    不得不说现在微信非常火,微信开放平台可以自己写程序跟用户交互,节省了前台开发成本,免去用户装客户端的烦恼.于是今天兴致来潮,想做一个试试. 首先找到了开发者文档,看了看,蛮简单的.(公众号早已申请,有 ...

  6. 如何快速定位JVM中消耗CPU最多的线程?

    第一步.先找出Java的进程PID ps -ef | grep 进程名关键字 这里假设找到的PID是:12345   第二步.找出该进程内最消耗CPU的线程 top -Hp log4x R :11.7 ...

  7. java web api接口调用

    Web Services 被W3C进行了标准化定义. Web Services 发布到网上,可以公布到某个全局注册表,自动提供服务URL,服务描述.接口调用要求.参数说明以及返回值说明.比如中国气象局 ...

  8. Linux yum apt-get 方式

    Linux 大致可以分两大类   RedHat分支 redhat, centos ,mandrake,mandriva,国产的红x等 1 常见的安装包格式 rpm包,安装rpm包的命令是“rpm -参 ...

  9. StackTrack for debug

    System.Diagnostics.Debug.WriteLine("Serial port. {0},{1}", this.GetType().FullName, new Sy ...

  10. 解决dubbo的服务发布注解@service不能和事务注解不能共用的方案

    最近在项目的开发中遇到了一个问题,就是服务提供方使用@service发布dubbo服务时候,服务消费方@Reference无法注入bean导致空指针异常的问题.分析原因为@service注解并没有将服 ...