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

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

ringa_lee
ringa_lee

ringa_lee

membalas semua(5)
Ty80
  1. jadual html boleh dieksport terus ke xlsx;

  2. Jika 1 tidak digunakan, data yang diperoleh akan dicache sebelum bahagian hadapan memaparkan data, dan ia boleh dihantar semula ke bahagian belakang apabila mengeksport tanpa memerlukan operasi pangkalan data lain

  3. Premis
  4. 2 ialah jumlah data berada dalam julat komunikasi hadapan dan belakang yang boleh diterima (contohnya, jika melebihi 50MB, ia terlalu besar), dan penggunaan komunikasi dikorbankan untuk penggunaan pangkalan data.

漂亮男人

Malah, js mempunyai pemalam yang boleh memproses excel, tetapi tidakkah anda masih mendapat data di bahagian hadapan dari bahagian belakang

Pemalam JS excel, Baidu mempunyai banyak daripadanya, seperti exceljs

Sesetengah perisian pengurusan mysql, seperti navicat, boleh terus mengeksport pangkalan data untuk cemerlang Anda tidak perlu menggunakan PHP untuk mengeksport Walaupun saya boleh mencapai segala-galanya dengan bahasa terbaik di dunia, anda juga harus mempertimbangkan bahawa perkara lain boleh juga dapat dicapai

给我你的怀抱

Secara peribadi, saya tidak menyokong pengambilan semula data ke latar belakang Anda boleh terus mengeksport html ke excel seperti yang ditunjukkan di atas, anda boleh memprosesnya di latar belakang, tetapi apabila anda memaparkan data dalam html, cache data ke pelayan Jika anda mengeksport excel, Baca data terus dari kawasan cache dan kemudian keluarkannya ke excel

刘奇

Secara amnya, mengeksport data ke EXCEL ialah operasi bahagian belakang Di sini pengguna akan memilih syarat tertentu untuk mengeksport data. Jika bahagian belakang memakan masa, ia boleh diproses menggunakan tugas tak segerak.

小葫芦

Tanya soalan, saya ingin tahu sama ada mengeksport data bermakna mengeksport semua data? Atau bolehkah saya memilih julat masa? Jika anda mengeksport segala-galanya, anda boleh menjalankan tugas berjadual di latar belakang Pilih masa apabila bilangan pelanggan adalah kecil, seperti pergi ke latar belakang pada waktu malam untuk menyemak semua data, dan kemudian dapatkannya apabila mengeksport dalam. tempoh sebelumnya. Tugas yang dijadualkan juga akan menyemak data secara berkala setiap hari

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!