Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
PHPExcel writer可选的单元格数,如GA_Php_Excel_Phpexcel - Fatal编程技术网

PHPExcel writer可选的单元格数,如GA

PHPExcel writer可选的单元格数,如GA,php,excel,phpexcel,Php,Excel,Phpexcel,如果单元格的数量是可选的,谁能告诉我如何生成列索引(如BB)?当前,我的代码显式地设置单元格 $list->setCellValue("D1", "Date")); 但是有没有办法自动生成列索引“D”?我希望有像GA一样的col索引,它意味着从A到Z,如果列数超过A-Z的范围,则是char部分的两倍。PHPExcel是否能够自动生成此索引 $colIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn()); 您

如果单元格的数量是可选的,谁能告诉我如何生成列索引(如BB)?当前,我的代码显式地设置单元格

$list->setCellValue("D1", "Date"));
但是有没有办法自动生成列索引“D”?我希望有像GA一样的col索引,它意味着从A到Z,如果列数超过A-Z的范围,则是char部分的两倍。PHPExcel是否能够自动生成此索引

$colIndex = PHPExcel_Cell::columnIndexFromString($cell->getColumn());
您可以手动设置信函,而不是使用
$cell->getColumn()


您可以手动设置字母,而不是使用
$cell->getColumn()
,因此现在我必须编写一个函数来完成此操作:

public static function indexToExcelIndex( $index )
{
    $div = intdiv( $index, 26 );
    $modulo = $index % 26;
    $result = '';
    do
    {
        $result .= chr( 65 + $modulo );
    }
    while( --$div > -1 );

    return $result;
}

编辑:正如所发现的,有一种方法setCellValueByColumnRow()接受列和行的数字坐标。所以我不需要字母坐标

所以现在我必须编写一个函数来实现这一点:

public static function indexToExcelIndex( $index )
{
    $div = intdiv( $index, 26 );
    $modulo = $index % 26;
    $result = '';
    do
    {
        $result .= chr( 65 + $modulo );
    }
    while( --$div > -1 );

    return $result;
}

编辑:正如所发现的,有一种方法setCellValueByColumnRow()接受列和行的数字坐标。所以我不需要字母坐标

但是$cell->getColumn()生成coll索引的数字表示形式。我的问题是,是否有一种方法可以获得像AA这样的索引。@chamo
$columnAddress=phpexcell\u Cell::stringFromColumnIndex(26)将给出
AA
;但是如果你是通过信件计算的话;然后
$column='Z'$列++;echo$列将为您提供
AA
。。。。PHP以Perl风格处理字符串递增(这是Excel列使用的)$string++很有趣。Z真的表示感谢,但是$cell->getColumn()生成coll索引的数字表示。我的问题是,是否有一种方法可以获得像AA这样的索引。@chamo
$columnAddress=phpexcell\u Cell::stringFromColumnIndex(26)将给出
AA
;但是如果你是通过信件计算的话;然后
$column='Z'$列++;echo$列将为您提供
AA
。。。。PHP以Perl风格处理字符串递增(这是Excel列使用的)$string++很有趣。Z真的非常感谢。有一个更高效的内置函数版本:
phpexcell_Cell::stringFromColumnIndex()有一个更高效的内置函数版本:
phpexcell_Cell::stringFromColumnIndex()