用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 />";
}
?>


1个回答

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问