0

使用 openTBS 时有什么方法可以将块发送到.xlsx 标头?就像我们在 word 上做的那样,在 header .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]
4

1 回答 1

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 :)

好吧,我不确定这是否是最好的方法,但它的工作原理:)

于 2012-09-17T15:35:04.940 回答