Я использую OpenTBS для экспорта статистики в файл .ods.
Я хотел бы иметь возможность создавать графики в созданном документе.
Проблема заключается в том, что каждый экспортируемый фрагмент данных экранируется одинарной кавычкой (‘) в созданном документе. Я не могу генерировать графики, не удаляя его.
Есть ли способ указать необработанные данные с помощью метода OpenTBS mergeField ()?
Вот вершина в коде:
$model = __DIR__ . "/../../Resources/public/models/Stats/Stats_mensuelles_template.ods";
$targetDir = __DIR__ . self::Z2_DOCGEN_TARGETDIR;
$this->setDocumentName($document, $this->type);
// (...) fetching the data (...)// each getComptage* method return an integer value
$sm = array(
"date" => $statistique->getDateFin()->format('M Y'),
"pn" => $statsCurrentMonth->getComptagePaliersNormaux(),
"pe" => $statsCurrentMonth->getComptagePaliersExceptionnels(),
"cu" => $statsCurrentMonth->getComptagePaliersUrgents(),
"pb" => $statsCurrentMonth->getComptagePatchesBIRDe(),
);
//Chargement de la page principale
$this->tbsManager->LoadTemplate($model, OPENTBS_ALREADY_UTF8);
$this->tbsManager->MergeField('sm', $sm);
$this->tbsManager->Show(OPENTBS_FILE, $targetDir . $document->getNom());
Вот как выглядят ячейки в шаблоне .ods ([см. *] И метки в отдельных ячейках):
Statistiques mensuelles [sm.date] Palier normal [sm.pn] Palier exceptionnel [sm.pe] Palier urgent [sm.cu] Patch BIRDe [sm.pb] Autres paliers [sm.div]
Наконец, вот пример сгенерированных клеток
Palier normal '30 Palier exceptionnel '8 Palier urgent '15 Patch BIRDe '41 Autres paliers '28
Спасибо
В конце концов я нашел ответ в Документация OpenTBS — раздел «Создание документов OpenOffice и Ms Office с помощью PHP»
Единая цитата добавляется на стороне документа при заполнении. И он обычно рассматривает каждый фрагмент данных как строку независимо от того, что на самом деле отправляется.
OpenTBS может справиться с этой проблемой, явно указав тип поля в шаблоне.
Итак, если мы возьмем мой шаблон, вот как мы будем работать с первым числовым полем:
[sm.pn;ope=tbs:num]
и так далее
Других решений пока нет …