gooドクター有料プランが1ヶ月間無料!

閲覧ありがとうございます。
さっそく質問なのですが、私は現在PHPExcelを使用しています。
このクラスを利用してExcelのファイル形式に出力することはできるようになりました。
しかし、シートを1枚しか使う事ができません。
2枚目、3枚目と、シートを作る方法を教えて頂きたいです。
使用環境はxamppです。
よろしくお願いします!

gooドクター

A 回答 (2件)

今日まで、実際にPHPExcelを使ったことがないのでアレなんですが、


http://journal.mycom.co.jp/articles/2009/03/06/p …
こちら(マイコミジャーナル)の記事を見る限りでは、
PHPExcelをnewした時点で一枚目のシートは自動的に生成されるようです。
(実際にスクリプトコピペして試してみたところ正しく動作しました)

なので、
<?php
$xl = new PHPExcel();
$xl->setActiveSheetIndex(0);

$sheet1 = $xl->getActiveSheet(); //$sheet1には一枚目のシートのインスタンスを代入

$xl->createSheet();
$xl->setActiveSheetIndex(1);

$sheet2 = $xl->getActiveSheet(); //$sheet2に二枚目のシートのインスタンスを代入

?>
と別々の変数にそれぞれのシートのインスタンスを代入してやれば、それぞれ操作することが出来ると思います。
    • good
    • 0
この回答へのお礼

再回答ありがとうございます!
2枚のシートを同時に使えるようになりました。
本当にありがとうございました。

お礼日時:2009/09/13 23:15

createSheetメソッドというものがありますので、ソレを利用するようです。



<?php
$xl = new PHPExcel(); //インスタンス作成して
$xl->createSheet(); //新しいシート作成して
$xl->setActiveSheetIndex(1); //二個目のシートをアクティブにして
$sheet = $xl->getActiveSheet(); //アクティブなシートのインスタンスを取得して

$sheet->setCellValue('A1', 'aaaaaaa'); //適当に値とか挿入すると
?>
こんな感じですか。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
続けて質問なんですが…
一枚目のシートを作る時も$xlを使用して
$xl= new PHPExcel();
$xl->createSheet();
$xl->setActiveSheetIndex(0);
$sheet=$xl->getActiveSheet();
$sheet->setCellValue('A1','test');
のように記述した後に、またインスタンスを作成して使用すればいいのでしょうか?
一枚目を使ったあと、二枚目に切り替え、作業する、その一連の動作がうまくできません。
よろしくお願いします!

お礼日時:2009/09/13 22:27

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

gooドクター

人気Q&Aランキング