0

openTBSを使用して、ブロックを.xlsxヘッダーに送信する方法はありますか?単語で行うように、ヘッダー.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);
    }

これはMSWordの部分では機能しますが、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)を作成しました。

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

そして、ドキュメントにヘッダーがある場合、これを行います

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

そしてもちろん、私は2つのSQLブロック、ベースとヘッダーを持っています:)

これが最善の方法かどうかはわかりませんが、機能しています:)

于 2012-09-17T15:35:04.940 に答える