javascript - 导出为EXCEL文件是重新查数据库还是从前端传数据?
ringa_lee
ringa_lee 2017-05-16 12:59:19
0
5
536

1.问题背景:前台页面用表格展示了数据,还要支持将数据导出为EXCEL文件。 查询数据库有时很慢(比如时间范围大[2年],sql语句执行时间差不多220s)
一般是导出的数据是重新查询数据库还是可以直接把前台得到的数据传给PHPExcel做处理?
感谢每一个回答者。
PS:sql语句优化尽力了(索引分区做了 多表有的表数据300w条),如果查询一周执行时间1.6s左右,查几年就得几分钟了。

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
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!