/*批量上传数据*/

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. react做股票、期货交易遇到的问题(不完全是react)及解决方法。

    公司项目主要是做股票及期货行情展示及交易,h5相应的做了一些功能---可以看行情图及模拟交易,实盘交易存在一定的风险,老板希望做自己的产品,这样h5就尴尬了,不过没关系,项目里还是有一定技术含量的-- ...

  2. linux程序分析工具介绍(一)—-”/proc”

    写在最前面:在开始本文之前,笔者认为先有必要介绍一下linux下的man,如果读者手头用linux系统,直接在终端输入man man便可以看到详细的说明,我在这里简单的总结一下,man命令是用来查看l ...

  3. MVC4笔记 @functions @model @using

    /////@functions自定义函数////// @helper辅助方法的确可以很方便的完成辅助方法开发,不过却失去了一些弹性,例如,无法在@helper中自定义属性,只能单纯的传入参数,然后格式 ...

  4. 使用InstallShield打包VS程序

    使用InstallShield打包VS程序 InstallShield是微软自己的一个打包工具,这个打包工具,有其优势也有其弊端.其优势,可以很好且方便地将.NET平台的控件以及程序所需要的dll打包 ...

  5. sql数据库基础知识整理,常用函数及常用语法

    1常用数据库聚合函数max()min()sum()avg()count() 2字符串处理函数len() 与 datalength()  区别:len是返回字符长度  datalength是返回字节长度 ...

  6. JDBC之Java连接mysql实现增删改查

    使用软件:mysql.eclipse 链接步骤: 1.注册驱动 2.创建一个连接对象 3.写sql语句 4.执行sql语句并返回一个结果或者结果集 5.关闭链接(一般就是connection.stat ...

  7. Hibernate多对多删除问题的解决

    原出处:http://superleo.iteye.com/blog/154587 Hibernate多对多的例子不少,但仔细一看,大多数都是保存的,删除谈的少,但问题还不少,因此有必须简单测试一下, ...

  8. div模拟textarea自适应高度

    之前在公司做项目的时候,有这么一个需求,要我写一个评论框,可以随着评论的行数增加而自动扩大,最开始我想用textarea实现,但是后来尝试后发现textarea并不适合,textarea的高度不会随着 ...

  9. elasticsearch映射及分析-----3

    首先我们看下不同的索引方式相同的字段指定字段类型与不指定字段类型es会怎么处理 1.不指定类型,直接创建索引及类型文档 我们看下他默认的索引映射 2.创建索引和类型时指定字段类型 这里创建了一个索引为 ...

  10. IDEA检出SVN项目

    https://blog.csdn.net/qq_27093465/article/details/74898489 https://jingyan.baidu.com/article/47a29f2 ...