rulu ruru

post Alenka v říši Excelu - jak dostat název sloupečku

November 3rd, 2008

Filed under: php, programming — starenka @ 21:49
Tags: , ,

Pokuď někdo generoval XLSko pomocí jinak dobře našláplýho projektu PHPExcel, jistojistě narazil na fakt, že data se ukladají po buňkách(!). Na tom zase není nic moc až tak tragickýho, až na fakt, že musíte nějak vygenerovat i souřadnici buňky. Já jsem zrovna potřeboval procházet buňky od A až po XY a tak vznikla tahle lehce retardovaná funkce. Budiž možná někomu prospěšná. PS. Pokud někdo přišel na způsob jak ukládat data třeba po sloupečkách nebo snad dokonce po řádkách, nechť mě osvítí v komentářích. 

function make_column_name($start_row,$add)
{
    $len = strlen($start_row);
    if(!is_int($add)) return false;
    if($len > 2 || $start_row == ) return false;
   
    $start_row = strtoupper($start_row);
    $last_ord = ord($start_row[$len-1]);
    $first_ord = ($len == 1)?false:ord($start_row[0]);
    $first_ret_ord = ($len == 1)?65:$first_ord;
    $to_z = 90-$last_ord;
   
    if($add <= $to_z) return ($first_ord)?chr($first_ord).chr($last_ord+$add):chr($last_ord+$add);
    else
    {
        $add -= ($to_z+1);
        return chr($first_ret_ord+floor($add/26)).chr(65+($add%26));
    }
}
ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress