国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

javascript - 導(dǎo)出為EXCEL文件是重新查數(shù)據(jù)庫還是從前端傳數(shù)據(jù)?
ringa_lee
ringa_lee 2017-05-16 12:59:19
0
5
682

1.問題背景:前臺頁面用表格展示了數(shù)據(jù),還要支持將數(shù)據(jù)導(dǎo)出為EXCEL文件。 查詢數(shù)據(jù)庫有時很慢(比如時間范圍大[2年],sql語句執(zhí)行時間差不多220s)
一般是導(dǎo)出的數(shù)據(jù)是重新查詢數(shù)據(jù)庫還是可以直接把前臺得到的數(shù)據(jù)傳給PHPExcel做處理?
感謝每一個回答者。
PS:sql語句優(yōu)化盡力了(索引分區(qū)做了 多表有的表數(shù)據(jù)300w條),如果查詢一周執(zhí)行時間1.6s左右,查幾年就得幾分鐘了。

ringa_lee
ringa_lee

ringa_lee

全部回復(fù)(5)
Ty80
  1. html 表格可以直接導(dǎo)出為xlsx;

  2. 如果不使用1,那么前端展示數(shù)據(jù)前,將獲取的數(shù)據(jù)緩存起來,導(dǎo)出時可以發(fā)送回后端而不需要再次數(shù)據(jù)庫操作;

  3. 2 的前提是,數(shù)據(jù)量在前后端通信可以接受的范圍內(nèi)(比如超過50MB 就屬于過大了),犧牲通信的消耗換取數(shù)據(jù)庫的消耗。

漂亮男人

實際上js是有可以處理excel的插件的,不過你前臺的數(shù)據(jù)不還是從后臺拿到的嗎

js的excel插件,百度都有一堆 比如 exceljs

有些mysql管理軟件,比如navicat可以直接把數(shù)據(jù)庫導(dǎo)出成為excel,不一定非得用php才能導(dǎo)出,雖然我世界上最好的語言什么都能實現(xiàn),但是你也要考慮下其他東西也能實現(xiàn)

給我你的懷抱

個人不太支持將數(shù)據(jù)重新向后臺調(diào)取,你或者可以向樓上那樣直接html到導(dǎo)出excel,當(dāng)然你可以后臺處理,不過你在顯示數(shù)據(jù)在html同時,將數(shù)據(jù)緩存到服務(wù)器,假如輸出excel直接從緩存區(qū)讀出數(shù)據(jù)再輸出excel

劉奇

一般導(dǎo)出數(shù)據(jù)到EXCEL都是后端操作,這里用戶會選擇一定的條件進行數(shù)據(jù)的導(dǎo)出。后端如果比較耗時可以采用異步任務(wù)來處理。

小葫蘆

題主我想了解一下導(dǎo)出數(shù)據(jù)是導(dǎo)出所有數(shù)據(jù)嗎?還是可以選擇時間范圍呢?如果是導(dǎo)出所有的,可以在后臺跑定時任務(wù),選擇客戶量少的時候,比如夜里去后臺去一下所有的數(shù)據(jù),然后前段導(dǎo)出的時候直接拿就好了,定時任務(wù)每天還要定時檢查該數(shù)據(jù)是否為最新的

最新下載
更多>
網(wǎng)站特效
網(wǎng)站源碼
網(wǎng)站素材
前端模板