<meta http-equiv="Content-Language" content="utf-8" />
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/><?php
// Test CVS
$xsexcel=$_FILES['exceldata']['tmp_name'];require "../../config/configD.php";
require_once '../../class/phpExcelReader/Excel/reader.php';
if (!$conn)
  {
  die(mysql_error());
  exit();
  }// ExcelFile($filename, $encoding);
$data = new Spreadsheet_Excel_Reader();
// Set output Encoding.
$data->setOutputEncoding('utf-8');
$data->read($xsexcel);error_reporting(E_ALL ^ E_NOTICE);
?>
<style type="text/css">
body {height:100%;margin:0;padding:0;font-size:14px;background:#FFF;color:#333;font: 12px/170%  'Lucida Grande',Arial, 'Lucida Sans Unicode', Geneva, Verdana, Sans-Serif; text-align:center;}
table {margin:10px auto;border-collapse:collapse; text-align:left;}
th,td {padding:6px;vertical-align:middle;border:1px dotted #96C2F1;border-collapse:collapse;}
th {background:#DFDFDF;}
tr {background:#EFF7FF;}
p.comm{padding:10px;text-align:center;font-size:13px;color:#CC0000;width:480px;border:1px solid #ADCD3C;margin:10px auto;}
</style> <?php
$o=0;
for ($i = 4; $i <= $data->sheets[0]['numRows']-1; $i++) {
if($data->sheets[0]['cells'][$i][2]!="")
{
$o=$o+1;
$sql="INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,`Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,`Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)VALUES (null , '".$data->sheets[0]['cells'][$i][1]."', '".$data->sheets[0]['cells'][$i][2]."', '".$data->sheets[0]['cells'][$i][3]."', '".$data->sheets[0]['cells'][$i][4]."', '".$data->sheets[0]['cells'][$i][5]."', '".$data->sheets[0]['cells'][$i][6]."', '".$data->sheets[0]['cells'][$i][7]."', '".$data->sheets[0]['cells'][$i][8]."', '".$data->sheets[0]['cells'][$i][9]."', '".$data->sheets[0]['cells'][$i][10]."', '".$data->sheets[0]['cells'][$i][11]."', '".$data->sheets[0]['cells'][$i][12]."', '".$data->sheets[0]['cells'][$i][13]."', '".$data->sheets[0]['cells'][$i][14]."', '".$data->sheets[0]['cells'][$i][15]."', '".$data->sheets[0]['cells'][$i][16]." ', '".$data->sheets[0]['cells'][$i][17]." ', '".$data->sheets[0]['cells'][$i][18]." ', '".$data->sheets[0]['cells'][$i][19]." ', '".$data->sheets[0]['cells'][$i][20]." ', NULL ,NULL , '".date("Y-m-d H:i:s")."');";
//mysql_select_db("zzb",$conn); 
$rss=mysql_query($sql,$conn); 
echo $sql."<br />";
//or die("Invalid query: " .mysql_error());
//}
sleep(1);
echo "<br />系统在您的Excel中成功检测到第".$o."条有效数据,已经存储到数据库。<br />";
}
//echo "</tr>";}
//print_r($data);
//print_r($data->formatRecords);
?>

解决方案 »

  1.   

    你有debug没? 或者你看看报什么错误? 从你代码上看没问题的
      

  2.   

    打印结果: INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,`Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,`Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)VALUES (null , '1', '党员', '省选', '张三四', '男', '汉族', '1984.06', '党员', '2009.07', '本科', '北京大学计算机', '13805340000', '山东德州', '山东德州', '党员', '党员 ', '2012 ', ' ', '党员 ', ' ', NULL ,NULL , '2011-01-05 14:30:06');系统在您的Excel中成功检测到第1条有效数据,已经存储到数据库。INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,`Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,`Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)VALUES (null , '3', '党员', '县选', '党员', '党员', '党员', '2010.1', '党员', '党员', '党员', '党员', '党员', '河北沧州', '河北沧州', '党员', '党员 ', ' ', ' ', ' ', ' ', NULL ,NULL , '2011-01-05 14:30:07');系统在您的Excel中成功检测到第2条有效数据,已经存储到数据库。
      

  3.   

    $sql还打印出
    系统在您的Excel中成功检测到第1条有效数据,已经存储到数据库。?
      

  4.   

    INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,`Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,`Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)VALUES (null , '1', '党员', '省选', '张三四', '男', '汉族', '1984.06', '党员', '2009.07', '本科', '北京大学计算机', '13805340000', '山东德州', '山东德州', '党员', '党员 ', '2012 ', ' ', '党员 ', ' ', NULL ,NULL , '2011-01-05 14:30:06');
    你试试这个能不能存入
      

  5.   

    INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,
    `Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,
    `Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)
    VALUES (null , '1', '党员', '省选', '张三四', '男', '汉族', '1984.06', '党员', 
    '2009.07', '本科', '北京大学计算机', '13805340000', '山东德州', '山东德州', '党员', 
    '党员 ', '2012 ', ' ', '党员 ', ' ', NULL ,NULL , '2011-01-05 14:30:06');INSERT INTO `zzb`.`dxscg` (`uid` ,`Dxsq` ,`Dname` ,`Dsex` ,`Dminzu` ,`Dcsny` ,`Dzzmm` ,
    `Dbysj` ,`Dxl` ,`Dbyyxjzy` ,`Dlxfs` ,`Djg` ,`Dsy` ,`Drzd` ,`Dzw` ,`Dqmsj` ,`Dkqgwy` ,
    `Dkqsydw` ,`Dkqyjs` ,`Dlxzy` ,`Dqita` ,`D0000` ,`D11111` ,`addtime`)
    VALUES (null , '3', '党员', '县选', '党员', '党员', '党员', '2010.1', '党员', 
    '党员','党员', '党员', '党员', '河北沧州', '河北沧州', '党员', '党员 ', ' ', ' ',
     ' ', ' ',NULL ,NULL , '2011-01-05 14:30:07');这是你的2条数据。 你在phpmyadmin看看是否成功
      

  6.   

    能,我echo $sql输出的sql语句也能插入到数据库,但是php好像是不执行
      

  7.   

    $rss=mysql_query($sql,$conn); $conn是否连接数据库成功
      

  8.   

    if (!$conn)
      {
      die(mysql_error());
      exit();
      }没问题,上面也有mysql_error,而且刚才改了下配置文件的密码,系统就报错了,这个不报错
      

  9.   

    var_dump($conn);//打印看看是否有资源if (!$conn)
      {
      die(mysql_error());
      exit();
      }
      

  10.   

    resource(2) of type (mysql link) 
      

  11.   

    mysql_query($sql,$conn) or die( mysql_error());//看看是否返回错误
      

  12.   

    你的sql的 uid 乍么是 null 值的?这个没问题吧??
      

  13.   

    我靠,终于找到门路了,

    Data too long for column 'Dsex' at row 1

    Dsex varchar(255) gbk_chinese_ci 否
      

  14.   

    输出后就俩字,Dsex varchar(255) 都还说Data too long for column 'Dsex' at row 1
      

  15.   

    终于知道了,是汉字编码的问题,iconv("UTF-8", "gb2312//IGNORE" ,$data->sheets[0]['cells'][$i][14])就可以了,感谢ice