人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

PHPで、チェックボックスが設置されたExcelファイルを開き、値セット後に別名で保存しようとしようとしています。
(チェックボックス自体は後で人が手動選択するために設置されたものです。)

ですが、
?PHPExcelで上記をやると、あらかじめ設置していたチェックボックスがすべて消えてしまうことがわかりました。
? ?の解決策として、Excelオープン時にVBAでチェックボックスを設置するようにしたのですが、PHPExcelを通すとマクロすらなくなってしまうことがわかりました。

チェックボックスを保持するような方法は何かないでしょうか?

他のライブラリでも、もしくは全く別の方法でもいいですのでご教示願います。

●質問者: kon39392
●カテゴリ:コンピュータ
○ 状態 :終了
└ 回答数 : 2/2件

▽最新の回答へ

1 ● きゃづみぃ
●50ポイント

別の手段ですが PHPで CSV等のファイルを作成し、それを エクセルで取り込まさせるというのは ダメでしょうか?

質問からすると PHPExcelの機能とか使い勝手が悪いようなので とりあえず
出力だけに それを用い、別の手段にて 本来の目的を果たせるような仕組みにしたほうがいいような感じがします。


質問者から

ちなみにExcel2000や2003で作成したチェックボックス(くぼんだような見た目のもの)もPHPExcelで編集したら継承されるかどうか試しましたが、同様に継承されませんでした。
余計な情報かもしれませんが、前回の質問時はその辺りが曖昧でしたので今回明記しておきます。


2 ● oil999
●50ポイント ベストアンサー

チェックボックス(フォーム)やマクロを保存するにはxlsm形式でセーブしなければなりませんが、PHPExcelはxlsmに対応していません。
残念ながらPHPのライブラリやフレームワークでxlsm形式に対応しているものはないので、WindowsのCOMを使ってExcelアプリケーションを呼び出して、加工→保存をする必要があります。

下記を参考にしてください。
http://d.hatena.ne.jp/takuya_1st/20071213/1197513796


質問者から

PHPExcelを使用するのをやめて、COMを使用してみたところ
チェックボックスを引き継いで、保存することができました。

ありがとうございました。


関連質問

●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ