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

PHP importiert Excel und zeigt den Fortschrittsbalken an der Rezeption an
怪我咯
怪我咯 2017-05-24 11:34:21
0
3
1453

PHP importiert Excel und die Rezeption zeigt einen Fortschrittsbalken an. Bitte geben Sie mir einen Rat (nicht den Fortschritt beim Hochladen von Excel-Dateien, sondern den Fortschrittsbalken beim Lesen von PHP in Excel – >Datenverarbeitung – >Schreiben in MySQL)

怪我咯
怪我咯

走同樣的路,發(fā)現(xiàn)不同的人生

Antworte allen(3)
Peter_Zhu

這個(gè)要看你Excel的大小和服務(wù)器允許的一次請(qǐng)求的最長(zhǎng)時(shí)間。我覺(jué)得可以分以下幾種情況:

  1. Excel很小,一兩秒就導(dǎo)入完成了 -- 這種情況下直接顯示個(gè)假的進(jìn)度條就差不多了。比如說(shuō):第一秒動(dòng)畫(huà)進(jìn)度到50%,第二秒進(jìn)度到75%,第三名動(dòng)畫(huà)進(jìn)度到90%,然后等服務(wù)器返回OK后進(jìn)度到100%.

  2. Excel比較大,但是能在服務(wù)器允許的一次請(qǐng)求的最長(zhǎng)時(shí)間內(nèi)完成 -- 這種情況下,也可以有好幾種做法:

    1. 簡(jiǎn)單粗暴點(diǎn),導(dǎo)入Excel的進(jìn)度自己估算下存放到某個(gè)位置(比如數(shù)據(jù)庫(kù)某個(gè)字段中),另起一個(gè)ajax請(qǐng)求或EventSource每隔一段時(shí)間(比如500ms)來(lái)輪詢下進(jìn)度,并顯示動(dòng)畫(huà)。

    2. 利用HTTP的長(zhǎng)連接,在導(dǎo)入Excel的請(qǐng)求中輸出進(jìn)度,記得要及時(shí)刷新到瀏覽器中。而瀏覽器中根據(jù)返回的數(shù)據(jù)顯示進(jìn)度動(dòng)畫(huà)。

  3. Excel非常大或者業(yè)務(wù)比較復(fù)雜,無(wú)法在服務(wù)器允許的一次請(qǐng)求的最長(zhǎng)時(shí)間內(nèi)完成 -- 這時(shí)候,如果服務(wù)端能跑CLI腳本,則建議跑CLI腳本來(lái)導(dǎo)入(進(jìn)度顯示可以參考2.1);否則的話就得對(duì)Excel進(jìn)行分步驟/分時(shí)/分段,然后在瀏覽器中一步一步來(lái)執(zhí)行導(dǎo)入任務(wù),并根據(jù)劃分的結(jié)果來(lái)顯示進(jìn)度。

我想大聲告訴你

讀取excel后能獲得記錄總條數(shù)么?
能,那就那么整唄,已處理記錄數(shù)/總數(shù)。
不能,那就放棄100%完成進(jìn)度條,弄個(gè)反復(fù)循環(huán)的進(jìn)度條表示我還活著就行了。

PHPzhong

不知道你會(huì)不會(huì)用swoole,也就說(shuō)你上傳完excel,之后,獲取完記錄條數(shù),然后直接用swoole來(lái)執(zhí)行導(dǎo)入sql的動(dòng)作。你當(dāng)前的頁(yè)面只要通過(guò)統(tǒng)計(jì)數(shù)據(jù)庫(kù)的記錄條數(shù),就能得到進(jìn)度百分比了。

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage