+ -
当前位置:首页 → 问答吧 → 将excel的数据导入到数据库

将excel的数据导入到数据库

时间:2008-11-08

来源:互联网

这个是用的C# ,改成php的就好了

作者: 0hudu   发布时间: 2008-11-08

我也要啊,Php的

作者: ted   发布时间: 2008-11-10

刚好最近学着写学生课外分系统,有这个功能,其实只用到上传文件move_uploaded_file()函数,file( )函数,还有explode()函数,不会太难,因为我也是初学,所以程序不太规范,基本上可以实现吧,文件我已经上传了,有兴趣的可以下载来看看
主要是这些:
[php]
if($_POST['addstu']=='csv')
{
if(substr($_FILES['stucsv']['name'],-4)=='.csv')
  {
   $uploaddir='./upload/';
   $uploadfile=$uploaddir.date("Y-m-d-H-i-s").$_FILES['stucsv']['name'];
   if(move_uploaded_file($_FILES['stucsv']['tmp_name'],$uploadfile))
   $buffer=file("$uploadfile");
   foreach($buffer as $value)
{ $stu=explode(',',$value);
}//这样就可以把CSV里一行的资料都放到stu数组了,这样循环ECHO到一个表单里给用户察看是不是全对,如果全对,再提交数据库,如果不用用户确认,那循环时直接连接数据库插入就更简单了

}
  else
   echo '上传的不是EXCEL的CSV数据文件,请重新上传正确的文件!';//

}
else if($_POST['csvaddstu']=='确定添加')
{
include('config.php');
$stuname=$_POST['name'];
$stuclass=$_POST['class'];
$stunum=$_POST['num'];
$stutel=$_POST['tel'];
mysql_select_db($db_name,$conn);
for($nstu=0;$nstu<count($stuname);$nstu++)
{
$addstusql="insert into stu (stunum,stuname,stuclass,stutel) values ('$stunum[$nstu]','$stuname[$nstu]','$stuclass[$nstu]','$stutel[$nstu]')";
mysql_query('set character set GBK');
$addsturesult=mysql_query($addstusql);   //这里是插入数据了
if($addsturesult)
  echo '成功添加: '.$stuname[$nstu].'<br>';
else echo '<font color="red">添加 '.$stuname[$nstu].' 失败!</font><br>';
}
}

[/php]
下面是效果,第一次用PHP写东西,写得不好,见笑了,呵呵:
[php]

学号 姓名 所在班级 联系电话
<INPUT id=num[] value="" name=num[]> <INPUT id=name[] value="" name=name[]> <INPUT id=class[] value="" name=class[]> <INPUT id=tel[] value="" name=tel[]>
直接添加
姓名:  学号:  所在班级:  电话:  
通过上传CSV数据文件添加
CSV数据文件格式样本下载
[/php]

addstu.inc.rar (1.7 KB)

下载次数:74

2008-11-15 23:56

作者: comy   发布时间: 2008-11-10

如果不用上传,只导入,那这里就可以了:
$buffer=file("文件路径");
   foreach($buffer as $value)
{ $stu=explode(' , ',$value);

这里加插入到数据库的语句,
}

作者: wsh   发布时间: 2008-11-15