ponich
@ponich
php,mysql,js

Как высчитать координаты для google spreadsheets?

Добрый день. Нужна помощь в высчитывании координат в таблицах гугла.
Что есть:
$spreadsheetId = "индификатор_документа";
        $range = "Книга1!A1:ZZ1";
        $response = $service->spreadsheets_values->get($spreadsheetId, $range);
        $values = $response->getValues();

Стандартными средствами api получаю в ответ массив:
array:1 [
  0 => array:97 [
    0 => ""
    1 => "Ссылка на отчет"
    2 => "Итого июнь"
    3 => "01.06.2016"
    4 => "02.06.2016"
    5 => "03.06.2016"
    6 => "04.06.2016"
    7 => "05.06.2016"
    8 => "06.06.2016"
    9 => "07.06.2016"
    10 => "08.06.2016"
    11 => "09.06.2016"
    12 => "10.06.2016"

После мне нужно высчитать индекс ячейки которую нужно изменить. К примеру пусть это будет строка номер 3, столбца где дата = 07.06.2016 (индекс = 9)
Ну вот, теперь у меня есть точные координаты ячейки которую мне нужно изменить. Но увы,
$service->spreadsheets_values->update
просит меня что бы я ввел координаты не 3,9 а 4:I - Где "I" это номер столбца.

Вопрос:
Как мне сконвертировать или посчитать свой координат в формат который принимает api?

Решения:
function getNameFromNumber($num)
    {
        $numeric = $num % 26;
        $letter = chr(65 + $numeric);
        $num2 = intval($num / 26);
        if ($num2 > 0) {
            return getNameFromNumber($num2 - 1) . $letter;
        } else {
            return $letter;
        }
    }
  • Вопрос задан
  • 568 просмотров
Решения вопроса 1
ponich
@ponich Автор вопроса
php,mysql,js
Вопрос решен. Спасибо
function getNameFromNumber($num)
    {
        $numeric = $num % 26;
        $letter = chr(65 + $numeric);
        $num2 = intval($num / 26);
        if ($num2 > 0) {
            return getNameFromNumber($num2 - 1) . $letter;
        } else {
            return $letter;
        }
    }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы