最近在做一个小项目,就是一个管理信息的小系统;要求有导入和导出的信息为excel的功能,研究过导入导出功能的肯定知道导出要比导入的简单多了,导入用的phpexcel,当时对phpexcel是完全不了解的,所以研究了很长时间才研究出来了,中途也是出现了各种问题,好在最后结果是出来了;

html页面代码:

<form method="post" action="提交处理页面" enctype="multipart/form-data">
<input type="hidden" name="leadExcel" value="true">
<strong class="icon-reorder">导入Excel表<input type="file" name="file_stu" />
<input type="submit" value="导入" style="position:relative;margin-left:-40px;margin-top:-10px"/> </strong>
</form>

提交处理页面代码:

<?php
require("function.php");
$con=con('manage');//连接数据库

//当上传文件过多的时候,超过时间限制的时候,上传文件会被终止,加上这一句是为了取消时间限制;

set_time_limit (0);
if($_POST['leadExcel'] == "true")
{
$filename = $_FILES['file_stu']['name'];
$tmp_name = $_FILES['file_stu']['tmp_name'];
$msg = uploadFile($filename,$tmp_name);
echo $msg;
echo "<script>setTimeout('history.back()',3000)</script>";
}

//导入Excel文件
function uploadFile($file,$filetempname)
{
//自己设置的上传文件存放路径
$filePath = 'upFile/';
$str = "";
//下面的路径按照你PHPExcel的路径来修改
require_once './PHPExcel/Classes/PHPExcel.php';
require_once './PHPExcel/Classes/PHPExcel/IOFactory.php';
require_once './PHPExcel/Classes/PHPExcel/Reader/Excel5.php';

//注意设置时区
$time=date("ymdHis");//去当前上传的时间
//获取上传文件的扩展名
$extend=strrchr ($file,'.');

//判断格式是否为excel格式
if($extend !=".xls"){
echo "<script>alert('您上传的格式不正确');history.back();</script>";
exit();
}
//上传后的文件名
$name=$time.$extend;
$uploadfile=$filePath.$name;//上传后的文件名地址
//move_uploaded_file() 函数将上传的文件移动到新位置。若成功,则返回 true,否则返回 false。
$result=move_uploaded_file($filetempname,$uploadfile);//假如上传到当前目录下

if($result) //如果上传文件成功,就执行导入excel操作
{
$excelpath = $uploadfile;
setlocale(LC_ALL, 'zh_CN'); //导入数据库防止中文乱码
$fileType = PHPExcel_IOFactory::identify($excelpath);
$objReader = PHPExcel_IOFactory::createReader($fileType);

//这两句也是防止导入的时候乱码的
$objReader->setInputEncoding('GBK');
$objReader->setDelimiter(',');

$objPHPExcel = $objReader->load($excelpath);
$Sheet = $objPHPExcel->getActiveSheet();

$highestRow = $Sheet->getHighestRow();//取得总行数
$highestColumn = $Sheet->getHighestColumn();//取得总列数

//为什么有这个数组呢,因为我打印总行列的时候只能打印一列
$arr = array(1=>'A',2=>'B',3=>'C',4=>'D',5=>'E',6=>'F',7=>'G',8=>'H',9=>'I',10=>'J',11=>'K',12=>'L',13=>'M', 14=>'N',15=>'O',16=>'P',17=>'Q',18=>'R',19=>'S',20=>'T',21=>'U',22=>'V',23=>'W',24=>'X',25=>'Y',26=>'Z');

$headtitle=array();
for ($row = 2;$row <= $highestRow;$row++)
{
$strs=array();
for ($col = 0;$arr[$col] != 'F';$col++)
{
$strs[$col] =$Sheet->getCellByColumnAndRow($col, $row)->getValue();
}

$data=explode(" ", $strs[0]);
$con=con('manage');
$sql="INSERT INTO `data`(`id`,`domain`,`regtime`,`expiretime`,`cid`) VALUES('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."','".$data[4]."')";
$re=mysqli_query($con,$sql);
if(!$re)
{
return false;
echo 'sql语句有误';
}else{
$msg = "导入成功";
}
}

}
else
{
$msg = "导入失败!";
}
return $msg;
}

?>

phpexcel--导入excel表格的更多相关文章

  1. phpexcel导入excel表格

    html代码 <form action="{:U('Mall/updExcel')}" method="POST" enctype="multi ...

  2. Thinkphp 用PHPExcel 导入Excel

    搞了个简单的Excel导入, 用的是PHPExcel(百科:用来操作Office Excel文档的一个PHP类库, 基于微软的OpenXML标准和PHP语言) 好, 不说了, 开始吧... 首先得有P ...

  3. 使用PHPExcel解析Excel表格

    安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目 ...

  4. 【tp5.1】通过PHPExcel实现导入excel表格

    1.上github下载PHPExcel,链接:https://github.com/PHPOffice/PHPExcel 2.下载解压后,将Classes改名为PHPExcel如图 3.将文件夹复制到 ...

  5. php导入excel表格

    我们做网站的时候经常要用到excel导入和导出的功能,我们通常的做法是用phpexcel工具包来完成,具体方法如下: html代码: <form action="{:U('Mall/u ...

  6. thinkphp整合系列之phpexcel导入excel数据

    一:导入phpexcel /ThinkPHP/Library/Vendor/PHPExcel 二:导入excel的函数 /** * 导入excel文件 * @param string $file ex ...

  7. ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格

    下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Ex ...

  8. 使用PHPExcel导入Excel到MySql

    .连接数据库的connection.php文件 <?php //修改下面代码来联接数据库 // mysql_connect打开一个到 MySQL 服务器的连接,如果成功则返回一个 MySQL 连 ...

  9. phpexcel导入excel文件报the filename xxx is not recognised as an OLE file错误。

    工作中频繁会用phpexcel类导入excel文件的数据到数据库,目前常用的excel文件格式有:xls.csv.xlsx. 刚开始,针对xls文件,使用如下程序,能正常运行: $objReader ...

  10. YII使用PHPExcel导入Excel文件的方法

    1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php 'import'= ...

随机推荐

  1. 第1章 VMware中安装CentOS7

    目录 1.1 下载CentOS7安装包 1.2 VMware中新建虚拟机 1.3 安装操作系统 本章讲解在VMware中安装CentOS虚拟机的步骤.使用的VMware Workstation版本为1 ...

  2. python列表中的赋值与深浅拷贝

    首先创建一个列表 a=[[1,2,3],4,5,6] 一.赋值 a=[[1,2,3],4,5,6]b=aa[0][1]='tom'print(a)print(b)结果: [[1, 'tom', 3], ...

  3. visual studio cl -d1reportSingleClassLayout查看内存f分布

    C:\Users\Administrator\Desktop\cppsrc>cl -d1reportSingleClassLayoutTeacher virtual.cpp 用于 x86 的 M ...

  4. P1309 瑞士轮

    题目背景 在双人对决的竞技性比赛,如乒乓球.羽毛球.国际象棋中,最常见的赛制是淘汰赛和循环赛.前者的特点是比赛场数少,每场都紧张刺激,但偶然性较高.后者的特点是较为公平,偶然性较低,但比赛过程往往十分 ...

  5. 从头开始学习数据库及ADO.NET之PostgreSql字段约束——竹子整理

    约束数据表列执行的规则.这些是用来防止无效的数据被输入到数据库中..这确保数据库中的数据的准确性和可靠性. 约束可以是列级或表级.仅适用于表级约束被应用到整个表的列级约束.为列定义的数据类型,本身是一 ...

  6. Diycode开源项目 Glide图片加载分析

    1.使用Glide前的准备 1.1.首先要build.gradle中添加   github原地址点击我. 参考博客:Glide-开始! 参考博客:android图片加载库Glide的使用介绍. 参考博 ...

  7. P3398 仓鼠找sugar(树链剖分)

    P3398 仓鼠找sugar 题目描述 小仓鼠的和他的基(mei)友(zi)sugar住在地下洞穴中,每个节点的编号为1~n.地下洞穴是一个树形结构.这一天小仓鼠打算从从他的卧室(a)到餐厅(b),而 ...

  8. OpenStack之虚机冷迁移代码简析

    OpenStack之虚机冷迁移代码简析 前不久我们看了openstack的热迁移代码,并进行了简单的分析.真的,很简单的分析.现在天气凉了,为了应时令,再简析下虚机冷迁移的代码. 还是老样子,前端的H ...

  9. Python Unicode与中文处理

    转自:http://blog.csdn.net/dao123mao/article/details/5396497 python中的unicode是让人很困惑.比较难以理解的问题,本文力求彻底解决这些 ...

  10. java包、类、方法、属性、常量命名规则

    必须用英文,不要用汉语拼音 1:包(package):用于将完成不同功能的类分门别类,放在不同的目录(包)下,包的命名规则:将公司域名反转作为包名.比如www.sohu.com 对于包名:每个字母都需 ...