まえがき
LibXL PHP ExtensionというライブラリでExcelシートを非表示にしようとしたら大変苦戦したので、後学の為と自分の覚書の為にメモに残しておきます。
ほんだい
…前置きが長いとストレスにつながると思うので、いきなり本題ですが、簡潔に書くと下記のようになります。
//↓ この部分は一例です。各記法に従ってください
$excelBook = new \ExcelBook();
$excelSheet = $excelBook->getSheet(0); //この0はsheet1
//略
//シートを非表示にする
$excelSheet->setHidden(true);
あとがき
私はLibXL PHP Extensionが使われているシステム開発をしており、ExcelにデータをPHPから書き込み後、そのシートをユーザーに見せないようにしたかったので、非表示にする方法をずっと探していました。(計5日間ほど…)
このLibXL PHP Extensionについての情報を検索してみると、日本語英語にかかわらず情報が非常に少なく、関係ないものが出てくることがほとんどでした。
ChatGPTに聞いたりしてみても、なぜかPHPExcelやPHP SpreadSheetの話に置き換えたりされて、まともな回答が見つかりませんでした。
(まあ最終的には結局ChatGPTさんに救われたのですが…)
どのようにこの回答を導き出したかというと、ChatGPTに対し、単純に
libxlでシートを非表示にする方法を教えて
と聞きました。(最初は「LibXL PHP ExtensionでExcelシートを非表示にする方法を教えてください。」などと書くことを何十回も繰り返しました)
Libxl自体はPHP用のライブラリではないため、当然、回答はC++用等のものが返ってきました。
が、やけくそになっていた私は、それをとりあえずPHPに貼ってみたんですね。
するとなんと、見事に動いてくれたんです。
時にはやけくそになることも大事というお話でした。おしまい。