首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >OpenTBS不生成动态列

OpenTBS不生成动态列
EN

Stack Overflow用户
提问于 2022-10-13 12:18:01
回答 1查看 33关注 0票数 0

因此,我将开始给出一些上下文,在我的实际项目中,我试图使用一个名为OpenTBS的库来生成一个动态列到一个odt中,我遵循了文档,它给了我这个错误:

在块的定义

TinyButStrong错误b.thin.:至少找不到一个对应于tbs的标记。检查开始标记、结束标记和嵌入级别。

TinyButStrong Error Show()方法:由于至少发生了一个错误,OpenTBS插件取消了输出。

我的代码如下所示:

代码语言:javascript
复制
<?php
include_once('tbs_class.php');
include_once('plugins/tbs_plugin_opentbs.php');

$TBS = new clsTinyButStrong;
$TBS->Plugin(TBS_INSTALL, OPENTBS_PLUGIN);

$TBS->LoadTemplate('template.odt',OPENTBS_ALREADY_UTF8);
$data = array(
    array('date' => '2013-10-13', 'thin' => 156, 'heavy' => 128, 'total' => 284),
    array('date' => '2013-10-14', 'thin' => 233, 'heavy' =>  25, 'total' => 284),
    array('date' => '2013-10-15', 'thin' => 110, 'heavy' => 412, 'total' => 130),
);
$TBS->MergeBlock('b', $data);



// $TBS->Plugin(OPENTBS_DEBUG_INFO, true); 

$output_file_name ="test_download.odt";
$TBS->Show(OPENTBS_DOWNLOAD, $output_file_name); 
?>

template.odt,看起来是这样的:

代码语言:javascript
复制
 ------------------------------------------------
|Category | [b.date]                             |
|Thin     | [b.thin;block=td;parallel=tbs:table] |
|Heavy    | [b.heavy]                            |
|Total    | [b.total]                            |
 ------------------------------------------------

因此,对于我测试过的内容,我得出的结论是,这个错误来自于odt,这里的b.thin;block=td;parallel=tbs:table,是这个部分的具体部分:block=td (block=td),因为当我使用block=td时,它不会下载odt,它只显示错误,但是当我试图将block=td更改为 to :cellE 215时,worked.The的问题是它不迭代数组,它只显示第一个数组:

代码语言:javascript
复制
 -------------------------------------------------
|Category | 2013-10-13                            |
|Thin     | 156                                   |
|Heavy    | 128                                   |
|Total    | 284                                   |
--------------------------------------------------

实际上,输出应该是这样的:

代码语言:javascript
复制
 -------------------------------------------------
|Category | 2013-10-13 | 2013-10-14 | 2013-10-15  |
|Thin     | 156        | 233        | 110         |
|Heavy    | 128        | 25         | 412         |
|Total    | 284        | 284        | 130         |
--------------------------------------------------

如果有人知道发生了什么,请告诉我!

谢谢!

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-10-14 06:43:40

好的,所以我想我找到了一个解决方案,在odt中,它写着block=td (在我的例子中),我不得不将它更改为block=tbs:cell,它起了作用。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74055660

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档