最近在做一个小项目,就是一个管理信息的小系统;要求有导入和导出的信息为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. UC浏览器打开首页显示:显示此网页时出了点问题

    使用UC浏览器打开网页的时候显示出错,如下图所示.但是用其他浏览器都很正常 我自己用的解决方法:最近刚下载了驱动精灵,听同学的把驱动精灵卸载了就恢复正常了

  2. 菜鸟学Linux - 文件/文件夹的隐藏属性

    文件/文件夹居然还有隐藏属性?没错,隐藏属性对于文件/文件夹的安全很重要.好比如说,我们需要使用”鉴定符“来揭开装备的隐藏属性:在Linux中chattr/lsattr就是“鉴定符”. chattr基 ...

  3. PowerShell批量配置VM端点

    我们可以通过PowerShell脚本批量添加VM端点.请您参考以下方案. 准备工作 – PowerShell连接China Azure 1. 从官网下载页面,下载并安装Windows Azure Po ...

  4. Diycode开源项目 TopicContentActivity分析

    1.效果预览以及布局分析 1.1.实际效果预览 左侧话题列表的布局是通过TopicProvider来实现的,所以当初分析话题列表就没有看到布局. 这里的话题内容不是一个ListView,故要自己布局. ...

  5. P3402 最长公共子序列(nlogn)

    P3402 最长公共子序列 题目背景 DJL为了避免成为一只咸鱼,来找Johann学习怎么求最长公共子序列. 题目描述 经过长时间的摸索和练习,DJL终于学会了怎么求LCS.Johann感觉DJL孺子 ...

  6. leetcode 【 Subsets 】python 实现

    题目: Given a set of distinct integers, S, return all possible subsets. Note: Elements in a subset mus ...

  7. 我对于js注入的理解

    资料:http://blog.csdn.net/gisredevelopment/article/details/41778671 js注入就是在前端利用使用js的地方 在这其中注入你写的js代码 使 ...

  8. 用sqlmap跑post型注入

    bugku-成绩单 题目地址 手工注入: ①看到题目,分别提交1,2,3,出现不同的成绩单,可见参数我们是可以控制,通过POST的方式. ②我们尝试输入1 and 1=1#和1 and 1=2#发现不 ...

  9. CodeForces Round #521 (Div.3) A. Frog Jumping

    http://codeforces.com/contest/1077/problem/A A frog is currently at the point 00 on a coordinate axi ...

  10. LAMP第二部分apache的配置

    1. 下载discuz! mkdir /data/wwwcd /data/wwwmv /root/Discuz_X3.2_SC_GBK.zip .wget http://download.comsen ...