はじめに
こんばんは。
phpspreadsheetを久々に触る機会があって、ちょっと悩んで、結局できなかったので悩んだ結果を備忘録しておきます。
本題
今回 phpspreadsheetでcheckboxの値を取りたいという感じだったのですが、色々調べて取れませんでした...
いろいろ同じように悩んでいる方がいたのですが、やっぱり取れないみたいです。
で、僕が対応したのは以下のやり方。
根本解決にはなってないんですが、こうすれば、とれます。
- チェックボックスのコントロールの書式設定から
リンクするセル
を選択 - 任意のセルを選択して完了
- チェックボックスのon/offに連動して選択したセルに
FALSE
TRUE
が表示されるようになる - 選択したセルの書式設定でフォントの色を背景色と同じにする
文字色が背景色と同化するので、一見はチェックボックスだけのon/offにみえます...w
この仕込みができれば、あとは通常通り IOFactory::load()
とかでエクセルファイルを読み込んで $sheet->getValue()
を実行すると booleanのtrue/false が取得できます。
終わりに
根本解決にはなってないんですが、一旦はこれで取れるようになりました。
ただ、もちろんこの仕込みがないと現状はチェックボックスの値は取得できないので、別アプローチあれば教えてもらえたら嬉しいです。
現場からは以上です。