Создать файл с диаграммой и динамическим числом столбцов

Я создаю xlsx-файл и хочу добавить столбчатую диаграмму, отображающую 2 значения для недели календарей.

Однако я не знаю, сколько диаграмм (в зависимости от доступных элементов) и сколько календарных недель мне нужно будет отобразить (в зависимости от периода времени, выбранного пользователем).

Создание недель и таблицы данных — не та проблема, она работает нормально, перебирая мои данные с помощью двух вложенных циклов foreach, используя setCellValueByColumnAndRow ().

Моя проблема в том, что у меня динамическое количество столбцов и динамическое количество строк.
Так что мне нужна подсказка, как перевести

$value = new PHPExcel_Chart_DataSeriesValues('Number',
'Worksheet!$C$9:$H$9',
NULL,
$numberOfWeeks);

array_push($values, $value);

во что-то вроде этого:

$value = new PHPExcel_Chart_DataSeriesValues('Number',
'Worksheet!$' . $START_COLUMN . '$' . $CURRENT_ROW . ':$' . $END_COLUMN . '$' . $CURRENT_ROW,
NULL,
$numberOfWeeks);

array_push($values, $value);

Как мне создать диаграмму и динамическое количество столбцов?

РЕДАКТИРОВАТЬ:

Во фрагменте было пропущено «!» (Спасибо Марку Баркеру). Исправлено это в моем первом посте.
Поскольку я использовал Integer-Values ​​для перебора столбцов, мне пришлось преобразовать целое число обратно в букву. Решение для этого размещено здесь.
А пока Марк ткнул носом в функцию, встроил конечно ;-),
PHPExcel_Cell::stringFromColumnIndex()

0

Решение

Отсутствует ! после Worksheet это очевидная проблема …. MS Excel заботится о таких вещах …. и отсутствует $ для абсолютных ссылок:

$value = new PHPExcel_Chart_DataSeriesValues('Number',
'Worksheet!$' . $START_COLUMN . '$' . $CURRENT_ROW . ':$' . $END_COLUMN . '$' . $CURRENT_ROW,
NULL,
$numberOfWeeks);

Но это действительно простой вопрос конкатенации строк PHP 101

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]