За последние 24 часа нас посетили 22409 программистов и 1033 робота. Сейчас ищут 693 программиста ...

Адрес ячейки phpexcel

Тема в разделе "PHP для новичков", создана пользователем sergejfreelancer, 15 апр 2019.

Метки:
  1. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Как получить адрес ячейки по значению? Например пробежаться циклом я могу, но мне при совпадении нужно получить именно адрес ячейки, чтобы далее работать с ним. Не могу никак найти метод, который вернет именно адрес ячейки
     
  2. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    при совпадении надо просто сохранить индекс итерации в какой либо переменной
     
  3. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Что-то сам не додумался. А как же мне тогда получить ворую координату? у меня координаты буква\цифра. По другому не могу сделать, к сожалению
     
  4. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Координаты буква/цифра... в шахматы чтоль в Экселе играешь? :)
    --- Добавлено ---
    Координаты буква/цифра... в шахматы чтоль в Экселе играешь? :)
     
  5. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    При чем тут шахматы? Столбец в excel нумеруется или буквой или цифрой. У меня файл со строками в цифрах, а столбцы в буквах.
     
  6. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    нет никакой разницы как ты перебираешь, вторая координата находится тем же способом, что я подсказывал ранее
     
  7. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Но вторая же буква по горизонтали у меня. Номер итерации не поможет. У меня по горизонтали может счет доходить до 300 столбцов
     
  8. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    да хоть картинка )) это сути не меняет
    при совпадении сохраняешь номера итераций по горизонтали и вертикали
     
  9. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Дык, мне же надо получить в итоге буквенно-цифровой адрес ячейки, а не цифра-цифра
     
  10. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    ты получишь в итоге 2 значения. А как тебе удобно ими пользоваться зависит от тебя
    хоть буквенно-цифровой, или же наоборот

     
  11. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Мы как-то на разных языках говорим или по разному строим циклы. В итерации я же получаю инекс итерации, а не значение столбца
     
  12. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @sergejfreelancer, в чём проблема сделать массив соответствия циферок буквам? И чем цифра цифра не устраивает?
     
  13. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    В том, что сейчас это 300 столбцов, а завтра может быть 3000
     
  14. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    @sergejfreelancer, где ты возьмёшь 3000 букв? китайский алфавит чтоль?
     
  15. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    в экселе буквы комбинируются, типа AA, AB, AC... AAA,BBB, ABC
    --- Добавлено ---
    по названию темы предполагается, что есть массив данных, в котором индексы состоят из букв и цифр
    при совпадении искомого значения, сохраняются индексы - столбца (буквы) и цифры (строки)
     
  16. sergejfreelancer

    sergejfreelancer Новичок

    С нами с:
    13 июн 2018
    Сообщения:
    12
    Симпатии:
    0
    Массива нет. Перебор обычной итерацией по индексу. Допустип условие верно и нужно получить не порядковый номер столбца, а его букву(ы)
    --- Добавлено ---
    Интересно, а если у меня входящий файл с буквами в столбцах, то я могу оперировать в цикле с адресами ячеек по формату "цифра/цифра", а после обращаться в этом же скрипте в формате "буква/цифра"
     
  17. Boothooz

    Boothooz Активный пользователь

    С нами с:
    8 май 2016
    Сообщения:
    63
    Симпатии:
    6
    выложи данные куда нить и посмотрим что там
     
  18. Valick

    Valick Активный пользователь

    С нами с:
    12 авг 2018
    Сообщения:
    1.911
    Симпатии:
    328
    Не ври, было бы интересно, уже бы проверил :)
     
  19. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    PHP:
    1. // ...
    2.  
    3. $objWorksheet = $objPHPExcel->getActiveSheet();
    4. // Перебираем строки
    5. foreach ($objWorksheet->getRowIterator() as $row) {
    6.     $cellIterator = $row->getCellIterator();
    7.     // Перебираем ячейки в текущей строке
    8.     foreach ($cellIterator as $cell) {
    9.         // В переменной $cell - ссылка на текущую ячейку
    10.         var_dump(
    11.             $cell->getRow(),         // Выведет номер строки, например 1
    12.             $cell->getColumn(),      // Выведет букву колонки, например 'A'
    13.             $cell->getCoordinate()   // Выведет Excel-координату ячейки, например 'A1'
    14.         );
    15.         exit;
    16.     }
    17. }
    18.  
    19. // ...
    Посмотреть полный список всех методов объекта $cell можно так:

    PHP:
     
    sergejfreelancer нравится это.