javascript - EXCEL ファイルにエクスポートする場合、データベースを再確認するか、フロントエンドからデータを転送する必要がありますか?
ringa_lee
ringa_lee 2017-05-16 12:59:19
0
5
595

1. 問題の背景: フロント ページにはデータが表に表示され、EXCEL ファイルへのデータのエクスポートがサポートされています。 データベースのクエリは非常に遅くなる場合があります (たとえば、時間範囲が [2 年] と長く、SQL ステートメントの実行時間はほぼ 220 秒です)
一般に、エクスポートされたデータはデータベースで再クエリする必要があります。フロントデスクから取得したデータは、処理のために PHPExcel に直接渡されますか?
回答していただいた皆様、ありがとうございます。
追伸: SQL ステートメントを最適化するために最善を尽くしました (複数のテーブルと 300 万個のテーブル データに対してインデックス パーティショニングが行われました) クエリの実行時間が 1 週間あたり約 1.6 秒の場合、数分かかります。年数を確認するためです。

ringa_lee
ringa_lee

ringa_lee

全員に返信(5)
Ty80
  1. html テーブルは xlsx に直接エクスポートできます;

  2. 1 が使用されない場合、取得されたデータはフロントエンドがデータを表示する前にキャッシュされ、エクスポート時に別のデータベース操作を必要とせずにバックエンドに送信できます。

  3. 2の前提は、データ量がフロントエンドとバックエンドの通信の許容範囲内(例えば50MBを超えると大きすぎる)であり、通信の消費は犠牲になります。データベースの消費。
いいねを押す +0
漂亮男人

実はjsにはExcelを処理できるプラグインがあるのですが、やはりバックエンドからフロントエンドのデータを取得することはできませんか?

js Excel プラグイン、Baidu には Exceljs などのプラグインがたくさんあります

navicat などの一部の mysql 管理ソフトウェアは、データベースを Excel に直接エクスポートできます。エクスポートに PHP を使用する必要はありませんが、他のこともできることを考慮する必要があります。も達成できます

いいねを押す +0
给我你的怀抱

個人的には、バックグラウンドへのデータの再取得はサポートしていません。 もちろん、上記のように HTML を Excel に直接エクスポートしてバックグラウンドで処理することもできますが、HTML でデータを表示するときにキャッシュします。 Excelをサーバーにエクスポートする場合は、キャッシュ領域から直接データを読み込んでExcelに出力します

いいねを押す +0
刘奇

通常、EXCEL へのデータのエクスポートはバックエンド操作です。ここで、ユーザーはデータをエクスポートするための特定の条件を選択します。バックエンドに時間がかかる場合は、非同期タスクを使用して処理できます。

いいねを押す +0
小葫芦

データのエクスポートがすべてのデータのエクスポートを意味するかどうか知りたいです?それとも時間範囲を選択できますか?すべてをエクスポートする場合は、夜間にバックグラウンドですべてのデータを確認するなど、顧客の数が少ない時間を選択して、エクスポート時にそのタスクを取得することができます。スケジュールされたタスクも毎日定期的にデータをチェックします

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート