Laravelで簡単な受注管理システムを作っています。
バージョンは5.6、PHPは7.1です。
データはCSVからMysqlのDBへインポートさせています。
画面構成は、
・インポート画面(CSVファイルを選択してインポート)
・注文一覧画面(DBのデータを出力)
の2画面のみです。
親テーブルには注文番号や注文者の情報(名前、住所など)があり、子テーブルに、注文に紐づく注文商品を格納しています。(質問とは直接関係ないですが、注文ごとの商品情報は、一覧画面にモーダルで表示させています)
注文一覧画面では、注文ごとに詳細を見るためのボタンや削除ボタン、ステータス(未対応、発送済みなど)を変更するためのプルダウンなどを設置していますが、一括処理ボタンも設定しています。
注文ごとの各行左端にチェックボタンを置いており、チェックした注文に対して一括でステータス変更、削除(論理削除)、CSVダウンロードを行えるようにしています。
そこで本題なのですが、一括処理に、追加で「受注票ダウンロード」という機能をつけないといけません。
機能としては、チェックした注文に対して、注文情報(注文番号や注文日時、注文者の情報など)、注文商品の情報(商品名や個数)を記載した「受注票」というものを生成、ダウンロードする機能です。
受注票のサンプルを確認すると、ファイル形式はPDFですが、もとはエクセルっぽいです。(そのサンプルも別のシステムでダウンロードしたものらしく、元ファイルは入手できませんでした)
なので、方針としてはエクセルでテンプレートを作成し、PhpSpreadsheet、もしくはLaravel Excelでデータを埋め込もうと思っています。このこと自体はPHP Excelで経験があるのですが、その際は単一テンプレートファイルにデータを埋め込むだけでした。
今回は、複数の注文情報に対して処理をしなければならないため、
1.エクセルのテンプレートを元に複数のファイル(エクセルで言うと「複数のシート」になるでしょうか?)を生成する方法
2.それを1ファイルのPDFに変換してダウンロードすること(もらったサンプルPDFは1ファイルにまとまっていました)
の方法が分からず、色々調べてはいるのですが、あまり参考となる情報が見つかりません。
上記2点に関して、良い方法があれば教えていただきたいです。
抽象的な質問内容で、かつ全て文章での質問で恐縮ですが、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
退会済みユーザー
2019/10/22 15:12
2019/10/22 15:22
退会済みユーザー
2019/10/22 15:25 編集
退会済みユーザー
2019/10/22 15:26
2019/10/23 05:17
退会済みユーザー
2019/10/23 05:32
退会済みユーザー
2019/10/25 08:33