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