亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何為 Xlsx 文件生成 pCoordinates

如何為 Xlsx 文件生成 pCoordinates

PHP
慕神8447489 2022-12-23 12:05:04
我想為此生成坐標 $sheet->setCellValue($pCoordinate, $pValue);$pCoodrinates 是一個字母,然后是一個數字,如 A1、B1、C1,例如第一行,然后下一行是 A2、B2、C2,下一行是 3這是我現在擁有的代碼class SpreadSheetHelper{    private static $alphabet = 'ABCDEFGHIJKLMNOPQRSTUYVWXYZ';    public static function createSpreadSheet($data = []) {        $spreadsheet = new Spreadsheet();        $sheet       = $spreadsheet->getActiveSheet();        foreach ($data as $rowIndex => $row) {            foreach ($row as $columnIndex => $columnValue) {                $pCoordinate = self::getAlphabetCoordinate($rowIndex, $columnIndex);                $pValue = $columnValue;                $sheet->setCellValue($pCoordinate, $pValue);            }        }        return $spreadsheet;    }    private static function getAlphabetCoordinate($rowIndex, $columnIndex) {        $letter = strtoupper(substr(self::$alphabet, $columnIndex, 1));        $number = $rowIndex + 1;        return "$letter$number";    }}如您所見, $alphabet 是硬編碼的并且是有限的,它到達最后一個字母,它應該以 AA, AB, AC,AD,AE,AF 開頭,這就是我想要生成的。知道怎么做嗎?
查看完整描述

1 回答

?
牛魔王的故事

TA貢獻1830條經驗 獲得超3個贊

您可以利用 ASCII 表:


<?php

//Number of rows and columns

$rows = 3;

$cols = 40;


$pcoords = array();

for($current_row=1;$current_row<$rows+1;$current_row++) {

    $alpha_index = 65;

    $alpha_pref_index = 65;

    $alpha_count = 0;

    $pref_letter = '';


    for($current_col=0;$current_col<$cols;$current_col++) {

        $col_letter = chr($alpha_index);

        $pcoords[] = $pref_letter . $col_letter. $current_row;

        $alpha_count++;

        if ($alpha_count == 26) {

            $alpha_count = 0;

            $alpha_index = 65;

            $pref_letter = chr($alpha_pref_index);     

            $alpha_pref_index++;               

        }

        else {

            $alpha_index++;            

        }        

    }    

}


echo '<pre>';

print_r($pcoords);

echo '</pre>';


查看完整回答
反對 回復 2022-12-23
  • 1 回答
  • 0 關注
  • 89 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號