アプリ版:「スタンプのみでお礼する」機能のリリースについて

phpexcelをダウンロードして使用しています。以下がphpexcelにてexcelのデータを出力させる方法と認識しておりますがどうやってsubmitボタンを押下した際にこのコマンドが実行されるのかが分かりません。初心者で申し訳ございませんが、ご教示頂けますようお願い致します。

$book = new PHPExcel();

//シートを設定する
$book->setActiveSheetIndex(0);//一番最初のシートを選択
$sheet = $book->getActiveSheet();//選択シートにアクセスを開始
$sheet->setTitle('sheet1'); //シート名を設定する
// テーブルヘッダを書き込む
// テーブルヘッダを書き込む
$sheet->setCellValue('A1', '製造日');
$sheet->setCellValue('B1', '賞味期限');
$sheet->setCellValue('C1', '商品');
$sheet->setCellValue('D1', '個数');

$row = 2;
foreach ($result as $item) {
$sheet->setCellValue("A$row", $item['seizoubi']);
$sheet->setCellValue("B$row", $item['syoumi']);
$sheet->setCellValue("C$row", $item['syouhin']);
$sheet->setCellValue("D$row", $item['kosu']);

$row++;
}

//Excel2007形式で出力する準備
//「vnd.ms-excel」だとブラウザによってはそのまま開いたりするのでこの方が良いかと
header('Content-Type: application/octet-stream');
//ダウンロードするファイル名を設定
header('Content-Disposition: attachment;filename="test.xls"');

$writer = PHPExcel_IOFactory::createWriter($book, "Excel5");//EXCEL2007形式
$writer->save('php://output');//出力開始

A 回答 (2件)

>submitボタンを押下した際にこのコマンドが実行される



<input type="submit" name="x" value="出力">
のように、submitするときにパラメータを渡し、
if($_REQUEST["x"]!==""){ //厳密には"出力"という文字と合致させた方がよい
実行文
}
のようにすればよいのでは?
    • good
    • 0
この回答へのお礼

if($_REQUEST["x"]=="出力")にてボタンを押下するとEXCEL出力出来ましたが、$sheet->setCellValue('A1', '製造日');の部分と$sheet->setCellValue("A$row2", $row['seizoubi']);の部分のhttps://oshiete.goo.ne.jp/remark/9219738/9896335 …データではなく、そのページのがエクセルに出力されていました。また、出力されたEXCELを開くと、読み込み中のエラーとでてしまいます。
以下の部分がおかしいのでしょうか?


$sheet->setCellValue('A1', '製造日');
$sheet->setCellValue('B1', '賞味期限');
$sheet->setCellValue('C1', '商品');
$sheet->setCellValue('D1', '個数');

//セルにデータをセット
$row2 = 2;
foreach ($result as $row) {
$sheet->setCellValue("A$row2", $row['seizoubi']);
$sheet->setCellValue("B$row2", $row['syoumi']);
$sheet->setCellValue("C$row2", $row['syouhin']);
$sheet->setCellValue("D$row2", $row['reiban']);
$sheet->setCellValue("E$row2", $row['kosu']);

$row2++;
}

お礼日時:2016/03/23 20:35

>PHPExcel



のライブラリの仕様は把握していないので
もっと簡単な例から出力をためして、仕様を追加していき
エラーになった時点で対応するという方法が妥当かと
    • good
    • 0
この回答へのお礼

返信いただきありがとうございます。
ちょうど昨日から、簡単な出力から試しています。

現在、ボタンを押下すると、EXCELが出力されるところまで出来ました!!
恐らくまた分からないことが出てくると思いますので、その時にまた新規で質問させていただきます。

ご教示頂きありがとうございました。

お礼日時:2016/03/24 13:16

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