php上传excel并将excel中的内容插入到数据库中

在修改公司网站项目中涉及到了把excel文件上传到后台并处理,经过学习总结出下面方法,记录一下。

		<form action="http://xx.xx.com/tet.php" method="post" enctype="multipart/form-data">
		<input type="file" id="file" name="file" style="display:none">
		<input type="button" οnclick="file.click()" value="选择附件">
		<input type="submit" value="提交" />
		</form>

 通过上面的代码,会弹出对话框,选择要上传的文件excel文件(方法中没有添加判断文件类型)。

tet.php文件如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<style type="text/css">
#test{height:expression(eval(document.documentElement.clientWidth)); background:#999;}

</style>


</head>

<body>
<?php
//print_r($_FILES);
if(move_uploaded_file($_FILES['file']['tmp_name'],'./uploads/up.xls'))//上传文件,成功返回true
	{echo '上传成功';
	}
	else
	{echo '上传失败';}
$db_server="localhost"; 
$db_user_name="xx"; 
$db_user_password='xx'; 
$db_name="xx";//表名 
$conn=mysql_connect($db_server,$db_user_name,$db_user_password); 
mysql_query("SET NAMES UTF8"); 
mysql_select_db($db_name, $conn);
require_once 'excel_reader2.php';//引用文件
$data = new Spreadsheet_Excel_Reader();
//设置文本输出编码
$data->setOutputEncoding('UTF-8'); 
$data->read("./uploads/up.xls");//读取excel
$arr=array();
$arb=array();
$wmark=0;
$name;
$email;
$post;//职位
$written='0';
$exam;//
$permission='0';
$ip='xx';
$date='xx';
for ($i = 2; $i <= $data->sheets[0]['numRows']; $i++) {
//显示每个单元格内容
$arr[$data->sheets[0]['cells'][$i][1]]=$data->sheets[0]['cells'][$i][2];
$arb[$data->sheets[0]['cells'][$i][1]]=$data->sheets[0]['cells'][$i][3];
} 
foreach($arr as $k => $v){//遍历数组修改数据库
	$existsql = "SELECT email FROM xx WHERE email='$k' LIMIT 1";
	$exist = mysql_query($existsql);
	$row = mysql_fetch_array($exist, MYSQL_ASSOC);
    if (!mysql_num_rows($exist))  //判断数据是否存在
        {  
			if(!empty($k))//不存在,插入
				{
					$dsql = "INSERT INTO kids_user (name,email,post,written,exam,ip,date) VALUES ('$v','$k','$post','$written','$exam','$ip',NOW())";
					$email = mysql_query($dsql);
					//echo $dsql;
				}
foreach($arb as $kl => $vl){
	$existsql = "SELECT email FROM xx WHERE email='$kl' LIMIT 1";
	$exist = mysql_query($existsql);
	if($exist){
		$emailadd = "UPDATE xx SET post='$vl' WHERE email='$kl'";
		$email = mysql_query($emailadd);
	}
	unlink('./uploads/up.xls');//删除文件
	
}
echo "\n";
echo '添加成功';

?>
<meta http-equiv="Refresh" content="2; url=http://xxx.xxx.com" /><!--2秒后跳转某页面--> 
</body>
</html>

 

文件中的excel_reader2.php文件在附件中(改文件必须存在)。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值