在xlsx标头上加载一个块

时间:2012-08-27 15:19:33

标签: xlsx tinybutstrong opentbs

使用openTBS有什么方法可以将块发送到 .xlsx标头? 就像我们在word上做的那样,在标题 .xml?

上加载块

提前致谢, 问候

更新

是的,我在/xl/worksheets/sheet1.xml中找到了标题内容,但我仍然试图合并2个块,基础和标题...我要发布一些代码

$base = $this->_getBase();
$TBS->MergeBlock('base', $base);
if ( $this->have_header == 1) {
        if ($info['extension'] == 'docx') {
            $TBS->LoadTemplate('#word/header2.xml', OPENTBS_ALREADY_UTF8);
        } elseif ($info['extension'] == 'xlsx') {
            $TBS->LoadTemplate('#xl/worksheets/sheet1.xml', OPENTBS_ALREADY_UTF8);
        } 
        $header =  $this->_getBase();
        $TBS->MergeBlock('header', $header);
    }

这适用于MS Word部分,但在Excel上,这给了我像

这样的错误
<br /><b>TinyButStrong Error</b> in field &#91;header.courseaction_ref...]: item 'courseaction_ref' is not an existing key in the array. 

更新

这就是我头上的内容..

[header;block=begin] Mapa de Presenças/Faltas
[header.course_code] - [header.course] - Acção nº [header.action_number] - Ref.ª: [header.courseaction_ref] [header;block=end]

1 个答案:

答案 0 :(得分:1)

我在PHP端创建了一个新方法(_getHEADER),ofc ..

private function _getHeader() {
    if (!isset($this->_queries['HEADER'])) {
        return array();
    }
    return $this->_getOne('HEADER');
}

当文档有标题时,这样做

$header =  $this->_getHeader();
        $TBS->MergeBlock('header', $header);

当然,我有2个sql块,base和header :)

我不确定这是不是最好的方法,但是它的工作方式:)