2017-11-01 2 views
0

私は多数のシートを持つTBS Excelテンプレートを持っています。私はセルA2に入れようとしている変数と一致するように各シートの名前を変更したい。私はExcelがテーブル名に特殊文字を許可しないことを知っているので、角括弧を使ってTBS変数を設定することはできません。TinyButStrong Excelを使用してExcelでシートの名前を変更するにはどうすればよいですか?

TinyButStrong ExcelまたはPHP(注:この環境ではPHP Excelはオプションではありません)を使用してプログラムでシート名を変更する方法はありますか?

は(OpenTBSバージョン1.9.11)あなたは今のところ

enter image description here

+0

あなたの代わりに、テーブル名のシート名を意味しないのですか? – Skrol29

+0

TinyしかしStrongはそれらをテーブルと呼んでいるようです。 –

+0

私はそうは思わない。内側のXMLはいくつかの«table»項目を使用するかもしれませんが、その機能はSheetについて語ります。 – Skrol29

答えて

0

ありがとうXLSXワークブックにシートの名前を変更するための特別な機能はありません。

サブファイル 'xl/workbook.xml'を開き、シート名がname属性に格納されていることを知り、古いシート名を新しいシート名で置き換えることができます。

XSLX例:

<sheet name="My old sheet" sheetId="1" r:id="rId1"/> 

PHPコード:

$TBS->PlugIn(OPENTBS_SELECT_FILE, 'xl/workbook.xml'); 
$TBS->Source = str_replace('name="My old sheet"', 'name="My new sheet"', $TBS->Source); 
+0

残念ながら、タブのタイトルは$ TBS->ソースに表示されないので、そのように変更することはできません。バイナリデータなので、xlsxファイルでもそれを試してもうまくいきません。 –

関連する問題