Laravel-excel: エクスポート前のカスタム列名

作成日 2018年03月16日  ·  9コメント  ·  ソース: Maatwebsite/Laravel-Excel

前提条件

  • [x]コードの外部で動作を再現できるため、問題はLaravelExcelに限定されます。
  • [x]問題がまだ提出されていないことを確認しました。
  • [x]この問題を修正するPRが提出されていないかどうかを確認しました。

バージョン

  • PHPバージョン:7.1.12
  • Laravelバージョン:5.5.39
  • パッケージバージョン:2.1.0

説明

こんにちは、
CSVファイルをエクスポートする前に列を編集することは可能ですか?
たとえば、 title description created_at updated_atがある製品テーブルがあります。 title bodyようなものをエクスポートする必要があります。 created_atupdated_atを削除し、 description列の名前をbodyに変更しました。

再現する手順

予想される行動:
(私が欲しいもの)

| 件名| ボディ|
| ------------- |:-------------:|
| 製品1 | 製品1の説明|
| 製品2 | 製品2の説明|

実際の動作:
(私が持っているもの)

| タイトル| 説明| created_at | update_at |
| ------------- |:-------------:| -----:| -----:|
| 製品1 | 製品1の説明| 2018年3月25日| 2018年3月25日|
| 製品2 | 製品2の説明| 2018年3月27日| 2018年3月28日|

追加情報

問題を再現するために必要となる可能性のある追加情報、構成、またはデータ。

コード

現在、サンプルからのデフォルトのエクスポートコードを使用しており、追加のクエリなどは含まれていません。データを希望どおりにエクスポートするには、コードをどのように変更すればよいかを考えてみてください。

public function export() {
      $products = Product::all();
        Excel::create('products', function($excel) use($products) {
               $excel->sheet('sheet 1', function($sheet) use($products){
                $sheet->fromArray($products);
               });
        })->export('xls');

PS:私が作成しようとしているのは、まさにこの拡張機能がMagentoで行うことです。

sss

この拡張機能でわかるように、データをエクスポートする前に、 change default database column namesadd/remove columnsなどを実行できます(ただし、この2つのオプションのみが必要です)。

question

最も参考になるコメント

あなたの創造のサポートをありがとう。

この発言とはどういう意味ですか? これは無料で使用できるオープンソースソフトウェアですが、サポートの義務はありません。 パッケージ自体をベストエフォートでサポートします。 必要に応じて、商用サポートも提供できます。 サポートページをお読み

全てのコメント9件

チケットを提出していただきありがとうございます。 残念ながら、あなたが提供した情報は不完全です。 取得する前に、(https://github.com/Maatwebsite/Laravel-Excel/blob/3.0/.github/ISSUE_TEMPLATE.md)を確認し、不足している情報を追加してください。

このチケットの処理をはるかに簡単にするために、必ず(https://laravel-excel.maatwebsite.nl/docs/3.0/getting-started/contributing)を確認し、問題テンプレートに入力したかどうかを再確認してください。正しく。 これにより、チケットをより効率的に受け取ることができます。 ガイドラインに正しく従う問題は、他の問題よりも優先されます。

返信ありがとうございます。実際には問題ではなく、単なる質問です。

私はただこのパッケージの助けを借りてそのようなことが可能かどうか知りたいですか?

単純なyesまたはnoは、これを作成した人、またはこのパッケージの使用経験がある人の知識に基づいて十分です。

それが私が求めているすべてです。

ありがとう。

@robertnicjooまだ、問題テンプレートの関連部分に記入する必要があります。 質問なのかバグなのかは関係ありません。 現在、お客様を支援するのに十分な情報がありません。 2.1と3.0の違いは非常に大きく、その情報に基づいて答えはまったく異なります。

問題のテンプレートに記入してください: https

@JeroenVossen @patrickbrouwers質問に

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

それについて何かコメントはありますか?

@robertnicjoo情報を追加していただきありがとうございます。 リソースが利用可能になり次第、それを受け取ります(サポートガイドライン(https://laravel-excel.maatwebsite.nl/docs/3.0/getting-started/support)に記載されています)。

わかりました。カスタム名で機能するようになりました。 小さな問題があります:

私のデータ行はExcelファイルで2回繰り返されます。

Explain

データベースの5列を編集したところ、 10を取得しました

sdd

コード

これは私の更新されたコードです:

public function export(Request $request) {
      $products = Product::all();
      Excel::create('products', function($excel) use($products, $request) {
        $excel->sheet('sheet 1', function($sheet) use($products, $request){

          $ddd = $request->except('_token');
          foreach($ddd as $fff){
            $ddd[] = $fff;
          }

            $sheet->fromArray($products, null, 'A1', false, false);
            $sheet->row(1, $ddd);
        });
      })->export('csv');
      return redirect()->back();
}

何か案が?

あなたの創造のサポートをありがとう。 私の問題は解決しました。

あなたの創造のサポートをありがとう。

この発言とはどういう意味ですか? これは無料で使用できるオープンソースソフトウェアですが、サポートの義務はありません。 パッケージ自体をベストエフォートでサポートします。 必要に応じて、商用サポートも提供できます。 サポートページをお読み

このページは役に立ちましたか?
0 / 5 - 0 評価