syLivip 2017-03-28 04:41 采纳率: 0%
浏览 1458

用PHP导入excel数据到sql Server数据库,写一个循环的插入语句应该怎么写呢???

环境php7.0+IIS+SQL Server2014
请问我将excel表格中的数据放在一个数组,然后想要将这个数组的数导入到sql server数据库应该怎么写呢?
代码如下:

<?php
$serverName = "localhost"; //serverName\instanceName
$uid = "sa";
$pwd = "987654";
$connectionInfo = array( "UID"=>$uid,"PWD"=>$pwd,"Database"=>"Analysis");
$conn = sqlsrv_connect($serverName, $connectionInfo);
if($conn==false)
{
    echo "Error!";
    die(print_r(sqlsrv_errors(),true));
}
else{
echo "Sucess!"; 
echo "<br />";  
}
error_reporting(E_ALL);
date_default_timezone_set('Asia/ShangHai');
require_once 'phpexcel-1.8/Classes/PHPExcel.php';
require_once 'PHPExcel-1.8/Classes/PHPExcel/IOFactory.php';
require_once 'phpexcel-1.8/Classes/PHPExcel/Reader/Excel5.php';

if(!file_exists("data/大分结构.xls")) {
    exit("not found 31excel5.xls.");
}

$reader = PHPExcel_IOFactory::createReader('Excel5'); //设置以Excel5格式(Excel97-2003工作簿)
$PHPExcel = $reader->load("data/大分结构.xls"); // 载入excel文件
//$reader->setOutputEncoding('utf-8');
$sheet = $PHPExcel->getSheet(0); // 读取第一個工作表
$highestRow = $sheet->getHighestRow(); // 取得总行数
$highestColumm = $sheet->getHighestColumn(); // 取得总列数

/*循环读取每个单元格的数据 */

 for ($row = 2; $row <= $highestRow; $row++){//行数是以第1行开始
    for ($column = 'A'; $column <= $highestColumm; $column++) {
        $dataset[]= $sheet->getCell($column.$row)->getValue();
        //$sql = "insert  into BInfo (BQId,CID,TId,BType,BScore)values('一','00903','00903A','操作题','36')";(只插入一条语句是可以成功的,但是用循环语句就不行了)
                //$sql="insert into BInfo (BQId,CID,TId,BType,BScore) values ('{$dataset[0]}','{$dataset[1]}','{$dataset[2]}','{$dataset[3]}','{$dataset[4]}')";//这个语句应该怎么写呢?求帮忙!
        $query = sqlsrv_query($conn,$sql);
               echo $column.$row.":".$sheet->getCell($column.$row)->getValue(); 
    }

    echo "<br />";
}
?>


  • 写回答

2条回答

  • 一张小纸的故事 2017-04-07 10:46
    关注

    for 循环挨个打印下,一步一步的推,看看哪里的毛病,先循环列里打印再循环行里打印

    评论

报告相同问题?

悬赏问题

  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 有没有帮写代码做实验仿真的
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?