?数据格式
?结果:
?
代码:
<?php
//更新小区名
set_time_limit(0);//不超时中断
ob_end_clean();
ob_implicit_flush();
header('X-Accel-Buffering: no'); // 关键是加了这一行,不等脚本执行完就输出结果
//初始化方法
require ('../methods/ini_methods.php');
//封装的方法
require ('../methods/public_methods.php');
require ('../methods/ini_class.php');
//引入PHPExcel文件
require '../plug/phpExcelClasses/PHPExcel.php';
//创建excel读对象
$reader = PHPExcel_IOFactory::createReader('Excel5');
//得到excel操作对象
$excel = PHPExcel_IOFactory::load('./file/北区散户区总分关系.xls');
//初始化数组
$data = array();
//获取所有工作表名(一个数组)
$SheetNamas = $excel->getSheetNames();
echo '当前excel文件包含slide数'.count($SheetNamas);
//循环遍历每个工作表
for($a=0;$a<count($SheetNamas);$a++){
echo '<br>'.$a.'当前工作表名'.$SheetNamas[$a];
//当前工作表名
$SheetName = $SheetNamas[$a];
//根据表名切换当前工作表
$excel->setActiveSheetIndexByName($SheetName);
//得到当前工作表对象
$curSheet = $excel->getActiveSheet();
//获取当前工作表最大行数
$rows = $curSheet->getHighestRow();
//获取当前工作表最大列数,返回的是最大的列名,如:B
$cols = $curSheet->getHighestColumn();
echo '<br>当前工作表数据条数'.$rows;
//遍历每个单元格
for($j = 2; $j <= $rows; $j++ ){//遍历行,获取每一行数据,由于第一行是表头,从2行开始
$value = $curSheet->getCell('A'.$j)->getValue();//获取A列的数据
//查询数据
$rowStr="select line_name from water_user_list where user_id = $value";
$result=mysqli_query($link, $rowStr);
if(!$result){
$curSheet->setCellValue ('B'.$j, "查询失败");
}else{
while ($row=mysqli_fetch_array($result)){
//将查询到的数据写在相应的user_id后面
$curSheet->setCellValue ('B'.$j, $row['line_name']);
}
mysqli_free_result($result);//释放结果内存
}
}
}
//关闭与mysql服务器的连接
// mysqli_close($link);
//在原有模板的基础上创建一个新模板
$objWriter =PHPExcel_IOFactory::createWriter ($excel, 'Excel2007');
//保存文件
$objWriter->save("./file/test.xls");
?>
|