这个功能,主要是为了把大气监测数据批量导入MYSQL数据库而写的。其实,只要把insert.php文件中的数据库选项,就可以添加其他的数据了。这里提供的是一种原理。
up.php选择文件上传。PS:要实现此功能,还需要下载phpexcelreader源代码。GOOGLE一下,你懂的。
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;
}
}
乡镇PM10数据导入,慎用 | |
选择你要导入的数据表 | |
[注]数据导入格式说明: | |
1、其它.导入数据表文件必须是execel文件格式{.xls}为扩展名. | |
2、execel文件导入数据顺序必须严格按照规定顺序。 | |
insert.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."
";
if( mysql_query($sql) ){
$count++;
}
$total++;
}
echo "";
}
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;
}
?>