使用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文件,然后点击导入按 ...
随机推荐
- Java基础06-条件选择语句
1.switch多分支结构 import java.util.Scanner; public class Test1{ public static void main(String[] args){ ...
- wampserver启动时图标不变绿的解决方法
有2种可能: 1.你安装wamp的时候安装路径中有中文,把路径全部改为英文. 2.其他软件占用了80端口号,解决方法是在服务中找微软的sql server或者其他服务,关掉服务后重启就行了.
- Python文本数据分析与处理
Python文本数据分析与处理(新闻摘要) 分词 使用jieba分词, 注意lcut只接受字符串 过滤停用词 TF-IDF得到摘要信息或者使用LDA主题模型 TF-IDF有两种 jieba.analy ...
- HDU 5446——Unknown Treasure——————【CRT+lucas+exgcd+快速乘+递推求逆元】
Each test case starts with three integers n,m,k(1≤m≤n≤1018,1≤k≤10) on a line where k is the number o ...
- 1.字符串池化(intern)机制及拓展学习
1.字符串intern机制 用了这么久的python,时刻和字符串打交道,直到遇到下面的情况: a = "hello" b = "hello" print(a ...
- bootstrap导航栏的辛酸史
昨天本来想完成test10的页面内容的,但是给老铁拉出去打麻将呢.不过还好昨天写了一些内容.现在奉上.不作更改. 今天完成的事情:(实现了test9的响应式导航栏的垂直平分和下拉列表的居中问题.) 我 ...
- jquery的html()、text()、val()的区别和用法
1.html() html()[无参]的使用方法是获取某元素内部的HTML代码,包括各种标签: 例:句1:<p>不知道大家高考的理综试卷里有没有关于科学家及其成就的选择题</p> ...
- 栅格那点儿事(四D)
统计值与空值 在上一篇的内容里反复提到了一个统计值.那这个统计值是怎么来的,具体是干嘛用的呢? 统计值主要就是用于栅格数据的显示和重分类,顾名思义就是一个波段中所有像元值的一个统计信息,最大值,最小值 ...
- Differences or similarities between Java and C++
“作为一名C++程序员,我们早已掌握了面向对象Object-oriented Programming程序设计的基本概念,而且Java的语法无疑是非常熟悉的.事实上,Java本来就是从C++衍生出来的. ...
- Android Recyclerview隐藏item的所在区域显示大空白问题的解决方案
最近搞了下Recyclerview,做了增加.删除item的功能.item上方有卡签 插个图片看下效果,点击底下的添加上去,同时,底下的item消失,这个用notifyItemInserted和not ...