PHP+PHPEXCELREADER+MYSQ实现EXCEL表批量导入MYSQL

10 篇文章 0 订阅
9 篇文章 0 订阅

这个功能,主要是为了把大气监测数据批量导入MYSQL数据库而写的。其实,只要把insert.php文件中的数据库选项,就可以添加其他的数据了。这里提供的是一种原理。

up.php选择文件上传。PS:要实现此功能,还需要下载phpexcelreader源代码。GOOGLE一下,你懂的。

<script>
function import_check(){<!--上传文件用的-->
    var f_content = form1.file.value;
    var fileext=f_content.substring(f_content.lastIndexOf("."),f_content.length)
        fileext=fileext.toLowerCase()
     if (fileext!='.xls')
        {
         alert("对不起,导入数据格式必须是xls格式文件哦,请您调整格式后重新上传,谢谢!");           
         return false;
        }
}
</script>

    <table width="98%" border="0" align="center" style="margin-top:20px; border:1px solid #9abcde;">
    <form id="form1" name="form1" enctype="multipart/form-data" method="post" action="insert.php">
    
        <tr >
            <td height="28" colspan="2" background="../skins/top_bg.gif"><label>  <strong><a href="#">乡镇PM10数据导入,慎用</a></strong></label></td>
        </tr>
        <tr>
            <td width="18%" height="50"> 选择你要导入的数据表</td>
            <td width="82%"><label>
            <input name="file" type="file" id="file" size="50" />
            </label>
                <label>
                <input name="button" type="submit" class="nnt_submit" id="button" value="导入数据"    οnclick="import_check();"/>
                </label>
 </td>
        </tr>
        <tr>
            <td colspan="2" bgcolor="#DDF0FF">  [<span class="STYLE1">注</span>]数据导入格式说明:</td>
        </tr>
        <tr>
            <td colspan="2">    1、其它.导入数据表文件必须是<strong>execel</strong>文件格式{.<span class="STYLE2">xls</span>}为扩展名.</td>
        </tr>
        <tr>
            <td colspan="2">  2、execel文件导入数据顺序必须严格按照规定顺序。</td>
        </tr>
        <tr>
            <td colspan="2"> </td>
        </tr></form>
    </table>



insert.php往数据库写入数据

<?php //往数据库中写入数据
error_reporting(E_ALL ^ E_NOTICE);
if($_POST){
$Import_TmpFile = $_FILES['file']['tmp_name'];
require_once '../configywcl.php';
 
require_once 'Excel/reader.php';
$data = new Spreadsheet_Excel_Reader();
$data->setOutputEncoding('UTF-8');
$data->read($Import_TmpFile);
$array =array();
   
for ($i = 1; $i <= $data->sheets[0]['numRows']; $i++) {
    for ($j = 1; $j <= $data->sheets[0]['numCols']; $j++) {
     $array[$i][$j] = $data->sheets[0]['cells'][$i][$j];
    }
}

sava_data($array);

}
function sava_data($array){   
    $count =0;   
    $total =0;
    foreach( $array as $tmp)
	{  
		//echo $tmp[1];
		//$tmp[1]=date('Y-m-d',$tmp[1]);
         $sql = "Insert into xzdq (rq,nian,yue,ri,xl,gc,cy,yc,dd,cg,sl,hch,llh,qlh,lx,zkd,cgou,dsw,zf,sd,pw,sjy,das,xyl,fzz,nj,hb,fqgc,gd,df,rqzx,bz)
		 value('$tmp[1]','$tmp[2]','$tmp[3]','$tmp[4]','$tmp[5]','$tmp[6]','$tmp[7]','$tmp[8]','$tmp[9]','$tmp[10]','$tmp[11]','$tmp[12]','$tmp[13]',
		'$tmp[14]','$tmp[15]','$tmp[16]','$tmp[17]','$tmp[18]','$tmp[19]','$tmp[20]','$tmp[21]','$tmp[22]','$tmp[23]','$tmp[24]',																																																		   		'$tmp[25]','$tmp[26]','$tmp[27]','$tmp[28]','$tmp[29]','$tmp[30]','$tmp[31]','$tmp[32]')";
		//echo $sql."<br>";
    
        
         if( mysql_query($sql) ){
            $count++;
         }
        
        $total++;
    }
    echo "<script>alert('共有".$total."条数据,导入".$count."条数据成功');</script>";
    
}
   
function TtoD($text){
    $jd1900 = GregorianToJD(1, 1, 1900)-2;
    $myJd = $text+$jd1900;
    $myDate = JDToGregorian($myJd);
    $myDate = explode('/',$myDate);
    $myDateStr = str_pad($myDate[2],4,'0', STR_PAD_LEFT)."-".str_pad($myDate[0],2,'0', STR_PAD_LEFT)."-".str_pad($myDate[1],2,'0', STR_PAD_LEFT);
    return $myDateStr;       
    }
?>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值