這是個(gè)Web項(xiàng)目(MVC+EF+SQL Server),需求如題。我用的EF把300萬(wàn)條數(shù)據(jù)讀取到DataTable中,然后用NPOI寫(xiě)入到Excel文件,通過(guò)Return File("Excel的路徑")返回到前臺(tái),讓瀏覽器把這個(gè)Excel下載到本地?,F(xiàn)在有1個(gè)問(wèn)題: 查詢數(shù)據(jù)+寫(xiě)入到Excel的時(shí)間約50秒,這一段時(shí)間前臺(tái)一直會(huì)卡著不動(dòng)。我的解決方案是: 1.寫(xiě)個(gè)Ajax請(qǐng)求,用于查詢和生成Excel。這一步不返回值。 2.同時(shí)在創(chuàng)建一個(gè)Ajax請(qǐng)求,這個(gè)請(qǐng)求會(huì)每2秒執(zhí)行一次,用于判斷Excel是否生成完畢?! ?.如果Excel生成完畢,則顯示一個(gè)“下載”按鈕,來(lái)下載這個(gè)Excel 這樣做確實(shí)解決了頁(yè)面卡死,但是沒(méi)隔2秒就發(fā)一次請(qǐng)求,太浪費(fèi)資源。對(duì)于這種把數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)出的情況,一般都有什么解決方案,請(qǐng)大神賜教?。?!
添加回答
舉報(bào)
0/150
提交
取消