Új hozzászólás Aktív témák

  • trisztan94

    őstag

    Hali

    A térképes app amit csinálok xls fájlokból (is) dolgozik. Feltölt a júzer egy xls-t vagy xlsx-et és az abban található címekből összerak egy útvonalat.
    Eddig úgy volt, hogy a cím darabjai fixen az I, J, K és L oszlopokban voltak (irányítószám, város, utca, házszám), viszont most kiderült, hogy úgy kellene, hogy a felhasználó kiválaszthassa feltöltéskor, hogy melyik oszlop(ok)ban van a cím. Tehát le kell kezelni azt is, ha az egész cím egy oszlopban van, meg ha több oszlopban van és össze kell fűzni a végén..

    Ez volt az eddigi kódom:
    for($row = 1; $row <= $lastRow; $row++)
    {
    $string = $row . "|";
    for($column = 'I'; $column != 'M'; $column++)
    {
    if($worksheet->cellExists($column.$row))
    {
    $cell = $worksheet->getCell($column.$row)->getValue();
    switch($column){
    case 'I':
    $string.= '"'.trim($cell).' ';
    break;
    case 'J':
    $string.= trim($cell).' ';
    break;
    case 'K':
    $string.= trim($cell).' ';
    break;
    case 'L':
    $string.= trim($cell);
    break;
    }
    }
    }

    Ez nagyon szépen kiszedte az eredményeket és összefűzte a stringeket.

    Most, hogy ez ki lett találva, átalakítottam erre:

    for($row = 1; $row <= $lastRow; $row++)
    {
    $string = $row . "|";
    foreach ($columns as $column)
    {
    if($worksheet->cellExists($column.$row))
    {
    $cell = $worksheet->getCell($column.$row)->getValue();
    switch($column){
    case $columns[0]:
    $string.= '"'.trim($cell).' ';
    break;
    case $columns[1]:
    $string.= trim($cell).' ';
    break;
    case $columns[2]:
    $string.= trim($cell).' ';
    break;
    case $columns[3]:
    $string.= trim($cell);
    break;
    }
    }
    }
    }

    Ez így rendesen működik is akkor, ha 4 oszlopban van a cím.

    A kérdés az lenne, hogy hogyan tudom megcsinálni, hogy akkor is működjön, ha kevesebb, mint 4 oszlopban van a cím?

    A $columns változó egy tömb, pl:

    [0]=>A
    [1]=>B
    stb

    Mindig annyi elem van benne, amennyit kiválasztott a júzer.

Új hozzászólás Aktív témák

Hirdetés