PHP批量导入excell表格到mysql数据库,本人通过亲自测试,在这里分享给大家

1,下载 php  excell类库

网上搜索可以下载,这里不写地址

2,建html文件

<form method="post" action="http://www.96net.com.cn/index.php?c=good&a=index" name="theForm" onsubmit="return validate()" enctype="multipart/form-data">
<table cellspacing="1" cellpadding="3" width="100%">

<tr>
<td class="label">请选择你要上传的EXCELL:</td>
<td>excell下载模板</td>
</tr>

<tr>
<td class="label">请选择你要上传的excell:</td>
<td><input type="file" name="myfile"></td>
</tr>

<tr>
<td colspan="2" align="center"><br />
<input type="submit" class="button" value="提交" />
</td>
</tr>

</table>
</form>

3,php代码写入

//批量上传操作
function upExecel(){

//判断是否选择了要上传的表格
if (empty($_POST['myfile'])) {
echo "<script>alert(您未选择表格);history.go(-1);</script>";
}

$file_size = $_FILES['myfile']['size'];
if ($file_size>5*1024*1024) {
echo "<script>alert('上传失败,上传的表格不能超过5M的大小');history.go(-1);</script>";
exit();
}

//限制上传表格类型
$file_type = $_FILES['myfile']['type'];
//application/vnd.ms-excel 为xls文件类型
//if ($file_type!='application/vnd.ms-excel') {
//echo "<script>alert('上传失败,只能上传excel2003的xls格式!');history.go(-1)</script>";
//exit();
//}

if (is_uploaded_file($_FILES['myfile']['tmp_name'])) {

if ($file_type=="application/vnd.ms-excel")
{
$objReader = PHPExcel_IOFactory::createReader('Excel5');
}

else
{
$objReader = PHPExcel_IOFactory::createReader('Excel2007');
}
$filename = $_FILES['myfile']['tmp_name'];
$objPHPExcel = $objReader->load($filename);
$sheet = $objPHPExcel->getSheet(0);
$highestRow = $sheet->getHighestRow();

for($j=2;$j<=$highestRow;$j++)
{
$a = $objPHPExcel->getActiveSheet()->getCell("A".$j)->getValue();
$b = $objPHPExcel->getActiveSheet()->getCell("B".$j)->getValue();
$c = $objPHPExcel->getActiveSheet()->getCell("C".$j)->getValue();
$d = $objPHPExcel->getActiveSheet()->getCell("D".$j)->getValue();
$e = $objPHPExcel->getActiveSheet()->getCell("E".$j)->getValue();
$f = $objPHPExcel->getActiveSheet()->getCell("F".$j)->getValue();
$g = $objPHPExcel->getActiveSheet()->getCell("G".$j)->getValue();
$h = $objPHPExcel->getActiveSheet()->getCell("H".$j)->getValue();

//null 为主键id,自增可用null表示自动添加
//$sql = "INSERT INTO house VALUES(null,'$a','$b','$c','$d','$e','$f','$g','$h')";

$newrow = array(
'title' => $c,
'pid' => $b,
'huohao' => $a,
'guige' => $d,
'price' => $e,
'huoc' => $f,
'wendu' => $g,
'zbq' => $h,
'content' => $content,
'upfile' => '/upload/12.jpg',
'add_time' => time(),
);

$row=spClass('goods_list')->create($newrow);

if ($row){
echo "<script>alert('添加成功!');window.location.href='http://www.96net.com.cn/index.php?c=goods&a=index';</script>";

}else{
echo "<script>alert('添加失败!');window.location.href='http://www.96net.com.cn/index.php?c=goods&a=ppaddpage';</script>";
exit();
}

}

}
}

需要注意是:xls文件  用 $objReader = PHPExcel_IOFactory::createReader('Excel5');  xlsx文件  用 $objReader = PHPExcel_IOFactory::createReader('Excel2007');

PHP批量导入excell表格到mysql数据库的更多相关文章

  1. Linux 用 shell 脚本 批量 导入 csv 文件 到 mysql 数据库

    前提: 每个csv文件第一行为字段名 创建的数据库字段名同csv 文件的字段名 1. 批量导入 多个 csv 文件 for file in ./*.csv;do mv $file tablename. ...

  2. 从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  3. 【转】从phpMyAdmin批量导入Excel内容到MySQL(亲测非常简洁有效)

    今天做项目遇到需要用phpMyAdmin批量导入Excel内容到MySQL数据库.分析了我的踏坑经历并且总结一最便捷的一套导入数据的方法,非常实用简洁: 1.修改Excel表的数据,使得Excel中的 ...

  4. (转)如何将 Excel 文件导入到 Navicat for MySQL 数据库

    场景:工作中需要统计一段时间的加班时长,人工统计太过麻烦,就想到使用程序实现来统计 1 如何将 Excel 文件导入到 Navicat for MySQL 数据库 Navicat for MySQL  ...

  5. 导入日志文件到mysql数据库表

    #!/bin/bash #**************************************************************************** #***将/usr/ ...

  6. poi导入excel表格数据到数据库的时候,对出生日期的校验

    出生日期格式为8位数字的字符串 如:yyyyMMdd 规则:yyyy大于1900并小于当前时间,月.日 按日期规则校验 //解决读过来的字符串显示为科学计数法问题 BigDecimal bd = ne ...

  7. SpringBoot导入Excel数据到MySQL数据库

    package com.example.example1.Controller; import com.example.example1.Entity.User; import com.example ...

  8. mysql数据库的批量数据导入与导出,性能提升。

    少量数据批量导入:1. 先从数据库把唯一键的值查询出来,放在列表2. 将导入的数据遍历取出,看是否存在列表中,若不在,说明数据库没有.3. 定义两个空列表,一个做为插入数据,一个做为更新数据4. 步骤 ...

  9. mysql中把一个表的数据批量导入另一个表中

    mysql中把一个表的数据批量导入另一个表中   不管是在网站开发还是在应用程序开发中,我们经常会碰到需要将MySQL或MS SQLServer某个表的数据批量导入到另一个表的情况,甚至有时还需要指定 ...

随机推荐

  1. vsftp配置文件

    直接使用,本地用户可以使用账号密码登录 # Example config file /etc/vsftpd/vsftpd.conf # # The default compiled in settin ...

  2. UVa 725 Division (枚举)

    题意 : 输入正整数n,按从小到大的顺序输出所有形如abcde/fghij = n的表达式,其中a-j恰好为数字0-9的一个排列(可以有前导0),2≤n≤79. 分析 : 最暴力的方法莫过于采用数组存 ...

  3. 关于Fibonacci博弈的一些学习

    关于Fibonacci博弈的一些学习 一道例题 问题 给定n(n≥2)个石头,游戏双方轮流取至少一个石子,取到最后一个石子的人算赢,但是要满足一下规则: 第一次取不能全部取完所有的石子. 设前一次取的 ...

  4. 使用Runnable接口创建线程池

    步骤: 创建线程池对象创建 Runnable 接口子类对象提交 Runnable 接口子类对象关闭线程池实例: class TaskRunnable implements Runnable{ @Ove ...

  5. window.open传递多个参数

    在前台使用var url = 'AddFiles.aspx?name=' + nm + '&id=' + id; window.open(url, "", "wi ...

  6. MySQL表碎片清理

    MySQL大表清理 生产环境data库业务表base_data大小:500G,data_free:31G mysql> SELECT table_schema,table_name,data_f ...

  7. Django学习之缓存

    1.配置 2.应用 由于Django是动态网站,所有每次请求均会去数据进行相应的操作,当程序访问量大时,耗时必然会更加明显,最简单解决方式是使用:缓存.缓存将一个某个views的返回值保存至内存或者m ...

  8. ES6中变量的解构赋值

    1.数组的解构赋值 基本用法 ES6 允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构(Destructuring). 输出: 上面代码表示,可以从数组中提取值,按照对应位置,对变 ...

  9. 原生JS去重

    方式一: function deleteRepetionChar(arr){ //先判断输入进来的是数组对象还是字符串 if( typeof arr == "object"){ v ...

  10. centOS7 flask项目布署

    先用1张图表示centOS布署flask的关键点,以及可能遇到的问题,及解决办法. 图片看不清,可以[下载]下来看,清晰度能够看清字 [目标] 局域网内,通过url可以访问flask编写的api 更新 ...