PHPExcel读取文件后按条查询数据库再修改保存

 数据格式

 结果:

 

代码:

<?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");
?>

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值