• PHPExcel 横向循环输出


    在PHPExcel中,我用到了一个循环,代码如下

    for($i=4;$i<$num;$i++)
    {
    if($i>30)
    {
    $j="A".chr($i+34)."$m";
    }else{
    $j=chr($i+61)."$m";

    }

    $objPHPExcel->getActiveSheet()->setCellValue("$j","$headerRow[$i]");

    }
    当$i>30的时候,$j这个变量就会获取不到,是怎么回事呢?

    这段代码中,

    当$i 在[4, 30]区间执行的运算是$i+61,结果范围在[65, 91];

    当$i 在[31, +∞)区间执行的运算是$i+34,结果范围在[65, +∞);

    chr是php函数,用来将整数转换成字符,65对应的ascii码是 A,91对应的是[,我猜这里本意是要把结果范围控制在[65, 90]区间,这个区间的话刚好对应ascii码的[A, Z]区间。

    基于这个假设,建议你把代码改成下面的样子试试:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    for($i=4;$i<$num;$i++)
    {
        if ($i < 30)
        {
            $j=chr($i + 61)."$m";
        }
        else if ($i < 56)
        {
            $j="A".chr($i + 35)."$m";
        }
    }

    附:ASCII码对照表:http://baike.baidu.com/view/15482.htm

  • 相关阅读:
    Less与Sass
    JQuery基础
    JS中DOM以及BOM
    JS函数入门
    JS入门
    响应式布局和弹性布局,移动开发常用技巧
    CSS基础1
    H5入门
    error C2143: syntax error : missing ';' before 'type'
    Windows系统下nodejs安装及配置
  • 原文地址:https://www.cnblogs.com/bit5566/p/5188195.html
Copyright © 2020-2023  润新知