問題タブ [laravel-excel]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
laravel-4 - Laravel Excelで2行目をコレクション属性として使用する方法
Maatwebsite の Laravel-Excel パッケージを使用しています。Excel ファイルをインポートし、laravel-excel で最初の行を無視し、2 行目をコレクションの属性 (テーブルの列) として使用したいと考えています。
「構成によるインポート」に頼らずに、これは可能ですか?
このようなものはまだ実装されていないようです。私はlaravel-excelのソースコードを掘り下げていませんが、それは私には少し気が遠くなるようなものですが、変更できるハードコードされた値がいくつかあるので、(0ではなく)行1から開始し、その値を属性に使用します名前?
php - laravelを使用して送信されたフォームからCSVからデータを取得する
私は現在、Laravel と組み込みの AJAX フレームワークを使用する OctoberCMS で開発しています。
フォームの送信時に、データを CSV にキャプチャし、最終的にデータベースにロードしようとしています。私はLaravel Excel v1.2.2を使用しています。私が書いたコードは、URLを参照しているため、CSVがサーバーにロードされている場合にのみ機能します。代わりに、フォームからキャプチャされた CSV を読み込むためにこれが必要です。これが私のコードです:
laravel - テンプレート xls から Excel をコピーする
データを書き込むテンプレート xls があります。このテンプレートは、別の名前で別のフォルダーに保存する必要があります。私が使用するコードは次のとおりです。
このコードを変更して、別の名前でファイルを書き込むにはどうすればよいですか? 今では些細なことですが、ドキュメントで見つけることができませんでした。
php - laravel phpexcel更新でのあいまいなクラス解決
インストール中にphp Excelでlaravelを更新しようとしましたが、コンポーザーで以下の警告が見つかりました。
エラー:
設定コントローラー:
クラスモデル:
私はこのチュートリアルに従っています:
https://github.com/Maatwebsite/Laravel-Excel
次のコマンドを試しました:
php - Maatwebsite/Excel が Laravel 4.2 でのインポートに失敗する
Excel ファイルを解析するための Web アプリを作成しています。それぞれに大量のデータ (~47 列と数千行) が含まれています。フレームワークは Laravel 4.2 で、使用するパッケージは laravel-excel (maatwebsite/excel) です。
私がすべてのコードを書いたとき、私は顧客からサンプル ファイルを受け取りました。これには 620 行が含まれていて、すべて正常に動作しました。現在、一部のファイルは機能しますが、ほとんどのファイルは機能しません。エラーは奇妙です。わかりました、一歩一歩:
論理
ユーザーが を介してファイルを選択する<input type="file">
と、このファイルが を介してサーバーに送信されます。サーバーは、このファイルのプロパティを$.ajax
使用してインスタンスを作成し、Job
このインスタンスをクライアントに返します。クライアントはこのJob
インスタンスを受け取りprogress
、これJob
(つまり、解析された行数total
) が(つまり、合計行数) より小さいかどうかを確認します。そうである場合、クライアントはこれを実行するようにサーバーに要求を送信しますJob
(つまり、特定の量の行をさらに解析するように、たとえば 200 )。したがって、クライアントとサーバーの間には常に次のような対話があります。
- クライアント: サーバー様、このファイルをアップロードします
orders_123.xlsx
。 - サーバー: クライアント様、ありがとうございます。ファイルを保存し、 で を作成しまし
Job
たid = 27
。ファイルにはtotal = 623
行があり、現在のprogress = 0
. - クライアント: サーバー様、ありがとうございます。これ
Job
をid = 27
で実行してください200
。できるだけ早く返信してください。 - サーバー: 親愛なるクライアント様、私はあなたが求めたことを実行し
Job
ましid = 27
たprogress = 200
。 - クライアント: わかりました、サーバー、どうぞ、これ
Job
を何度も実行して、200
行を取得してください。 - そして、ジョブが終了するまで続きます。
サーバーにすべての行をインポートするように要求するのではなく、なぜそんなに奇妙なことをしたのかと思うかもしれませんが、ここでも、ここにいくつかの暗い魔法が関係していることがわかりました。ほとんどの場合、この方法が唯一の方法です (それ以外の場合、サーバーは失敗します)。
JavaScript
ルート
OrdersFPController@handleOrdersImport
問題は、スクリプトが に到達すると、サーバーが を返すことがあるということです。時々、サーバーを強制終了して(冗談ではありません)、ターミナルでコマンドを停止します。いくつかのスクリーンショット:$sheet = Excel::load($path . '/' . $filename_new, function($reader) {})->get();
Error 500 (Internal server error)
php artisan serve
サファリ
http://i.stack.imgur.com/3gkpr.png
http://i.stack.imgur.com/m8V4s.png
ファイアフォックス
http://i.stack.imgur.com/QVceP.png
http://i.stack.imgur.com/IcOQF.png
http://i.stack.imgur.com/xvFoN.png
http://i.stack.imgur.com/flx3K.png
さて、これが問題です。サーバーは何も返しません。エラーだけで、説明はありません。
編集:
@lukasgeiter で述べたように、ログ ファイルを確認しました。コードが のExcel::filter('chunk')->load($path . '/' . $filename_new)->chunk(50, function($results) { /// });
場合、出力は次のようになります。
レギュラー$sheet = Excel::load($path . '/' . $filename_new, function($reader) {})->get();
が使用されている場合、ログ ファイルには何も書き込まれません。
php - laravelはcsvをアップロードし、csvファイルデータを整数フィールドでデータベースにインポートします
csv をアップロードして csv データをデータベースにインポートしようとしていますが、正常に動作しますが、データベースの整数フィールドで問題に直面しています。
私のcsvファイルには製品名と数量フィールドがあります