検索

ホームページ  >  に質問  >  本文

javascript - EXCEL ファイルにエクスポートする場合、データベースを再確認するか、フロントエンドからデータを転送する必要がありますか?

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

ringa_leeringa_lee2790日前600

全員に返信(5)返信します

  • PHP中文网

    PHP中文网2017-05-16 13:01:19

    1. html テーブルは xlsx に直接エクスポートできます;

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

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

    漂亮男人2017-05-16 13:01:19

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

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

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

    返事
    0
  • 给我你的怀抱

    给我你的怀抱2017-05-16 13:01:19

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

    返事
    0
  • 怪我咯

    怪我咯2017-05-16 13:01:19

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

    返事
    0
  • 高洛峰

    高洛峰2017-05-16 13:01:19

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

    返事
    0
  • キャンセル返事