phpexcel--导入excel表格

最近在做一个小项目,就是一个管理信息的小系统;要求有导入和导出的信息为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;
}

?>

时间: 2024-10-18 03:32:25

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

phpexcel导入excel表格

html代码 <form action="{:U('Mall/updExcel')}" method="POST" enctype="multipart/form-data"> //提交form表单到Mall控制器下的upExcel方法中 <div style="float:left;width:41%;"> <div style="float:left;"> <i

Thinkphp 用PHPExcel 导入Excel

搞了个简单的Excel导入, 用的是PHPExcel(百科:用来操作Office Excel文档的一个PHP类库, 基于微软的OpenXML标准和PHP语言) 好, 不说了, 开始吧... 首先得有PHPExcel类库, 点这里下载 https://github.com/Zmwherein/PHPExcel.git 然后把它放在 \ThinkPHP\Library\Vendor(个人喜好, 能引入就行了) 如图: PHPExcel.php 类似一个入口文件. 可以进去看看里面写的方法是怎个跑法.

【PHP】PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数)

[PHP]PHP使用PHPExcel生成Excel表格文件(附带随机生成英文名函数) 前言 由于业务需要,我们需要从业务中汇总数据,并生成Excel文件. 思路是这样的 PHP要导出Excel表格文件->找一个好用的第三方库吧->在Composer的Packages里找一个吧->PHPExcel这么多收藏,就它了! PHPExcel 概述 PHPExcel is a library written in pure PHP and providing a set of classes th

使用PHPExcel解析Excel表格

安装类库 从GitHub上下载PHPExcel类库 地址:https://github.com/PHPOffice/PHPExcel 解压后将Classes文件夹移动到ThinkPHP的extend目录,并将其重命名为phpexcel 在项目中需要的地方添加引用 import('phpexcel.PHPExcel', EXTEND_PATH); 代码实现 <?php namespace app\index\controller; use think\Controller; class Excel

ThinkPHP 3.2.3 使用 PHPExcel 处理 Excel 表格

下载 PHPExcel(https://github.com/PHPOffice/PHPExcel) 把下载的 zip 包解压至 ./ThinkPHP/Library/Vendor 下 一.导入 Excel 数据 控制器自定,这里用 IndexController.class.php <?php namespace Home\Controller; use Think\Controller; class IndexController extends Controller { // 导入 Exc

使用PHPExcel导入Excel到MySql

1.连接数据库的connection.php文件 <?php //修改下面代码来联接数据库 // mysql_connect打开一个到 MySQL 服务器的连接,如果成功则返回一个 MySQL 连接标识,失败则返回 FALSE. $mysql=mysql_connect("localhost","root","root"); //integer mysql_connect(主机,用户名,口令); mysql_select_db("

sqlite expert导入excel表格 (包括使用问题、以及把 一个表的数据插入到另一个表中)

一.sqlite导入excel 1.打开要导入的excel --- 另存为(2007版点击左上角OFFICE图标即可找到) --- 保存类型:CSV类型 (提示什么不兼容什么的,一律点确定.) 2.打开sqlite expert ,选择建好的数据库文件(或者是导入的已存在的db文件,或者是自己新建一个.db数据库文件). 右击文件名---选择最后一个import text file(CSV,TSV) 3.(如果没有建过和这个excel名相同的表)右边Destination选择第一项new tab

Java 从数据库中查找信息导入Excel表格中

前端js function Excel (){ //ajax请求 $.ajax({ url : "outPutAboutShopInfo", type : "post", dataType : "json", data:{ "basicShop.shopId" : shopId, "basicShop.shopMemo" : stringType //不方便增加字段所以使用门店的一个"备注&quo

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

1.下载phpexcel,将压缩包中的classes复制到protected/extensions下并修改为PHPExcel. 2.修改YII配置文件config/main.php [php] view plaincopy 'import'=>array( 'application.extensions.PHPExcel.PHPExcel', ), (以下处理PHPExcel autoload和YII autoload相冲突的方法任选其一,推荐第4种,最符合YII标准) 3.1.修改PHPExc

PHP使用PHPEXCEL导入Excel

下载PHPEXCEL 后放到项目里. ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 public function InExcel() {     //设定缓