我使用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模板中的单元格的样子(sm.*,标签在单独的单元格中):
脑膜炎菌( sm.date Palier sm.pn Palier sm.pe Palier紧急sm.cu修补程序BIRDe sm.pb Autres paliers sm.div
最后,下面是一个生成单元的示例
普通的“30小杯例外”8瓶紧急的“15片BIRDe”41自毁者28
谢谢
发布于 2016-06-01 14:30:07
我终于在OpenTBS文档--“用PHP创建OpenOffice和”一节上找到了答案
当填写时,单引号将添加到文档端。它通常将每一块数据看作一个字符串,而不管实际发送的是什么。
OpenTBS可以通过在模板中明确指定字段类型来处理这个问题。
因此,如果我们使用我的模板,下面是我们如何处理第一个数字字段:
[sm.pn;ope=tbs:num]诸若此类
https://stackoverflow.com/questions/37564271
复制相似问题