Re: [請益] PHP如何匯出多個EXCEL檔?

看板PHP作者 (宅沒有罪)時間15年前 (2010/08/17 13:59), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串4/5 (看更多)
不好意思 問題很多 就直接再開一篇問了XD 其實我原本的想法是.. -----一個檔案的時候----- Client Server 下載 → 產生csv檔案 ↓ 開始下載 ← 詢問是否下載 這樣的情況是OK的(雖然我不曉得PHP把那個檔案暫存到哪了= =") 接下來就想說 如果我要產生n個檔案 能不能夠直接產生呢 ※ 引述《chrisQQ (ChrisLiu)》之銘言: : ※ 引述《TaiKeDa (科科)》之銘言: : : 請照著箭頭走流程 : : Client Server : : 我要下載 → 開始產生檔案 : : ↓ : : 存入資料夾 : : ↓ : : 開始下載 ← 壓縮成單一檔案 : : ↓ : : 解壓縮 看了這個才有一點點懂 假如是很多檔案 是否是這樣的流程 : 我原本也以為是要作成這樣↑↑↑↑↑…既然都寫了,那就乾脆騙騙 P 幣… : 1. 按[按鈕]送出所需要的資料給後端 php : 2. 後端 php 根據你送出的資料,產生 n 個檔案到該資料夾底下 : 3. 透過 exec / system function 執行 tar / zip 資料夾 : 4. 壓縮完得到檔案之後,送出 header, readfile 讓使用者直接下載 : 後端 php : <?php : // get something from previous page : $_REQUEST / $_GET / $_POST : foreach / for ($i=0;$i<=$size;$i++) : { 比較不太懂的是這邊 要"讀取CSV資料" 看起來好像是要去開某個資料夾底下的csv檔 但我好像就是卡在csv檔要如何產生n個並存在資料夾中... 所以這裡又卡關了QQ 還是說 這裡就是我要寫成csv的地方呢..? 附上一下 我的假設一個檔案時程式碼 $title1 = '比對結果'; $title2 = 'PM File ID'; $title3 = 'DB Table ID'; $PMcontent = array("000","111","222","333","444"); $DBcontent = array("AAA","BBB","CCC","DDD","EEE","FFF"); //以下開始會寫進csv中 echo $title1."\n"; echo "pmfile於db全數有檔案\n"; echo "DB於pmfile全數有檔案\n"; echo "\n"; echo $title2."\n"; for($i=0;$i<count($PMcontent);$i++) { echo $PMcontent[$i]; echo ","; } echo "\n"; echo $title3."\n"; for($i=0;$i<count($DBcontent);$i++) { echo $DBcontent[$i]; echo ","; } : // 讀取你的 csv 資料 : $csv = some_function_load_csv_data(); : $fp = fopen("data/file{$i}.csv", "w+"); : fwrite($fp, $csv); : fclose($fp); : } 下面這段就很有用處了 我爬了GOOGLE到處都是用人家寫好的class.. 沒有直接可以在PHP中使用的 等上面卡關的地方搞定 再來試試看以下程式碼 : // 壓縮資料夾 : exec('tar -zcvf /somepath/filename.tgz /path/to/your/folder/data'); : // 送出下載的 header 與指定 file name : header('Content-Disposition: attachment; filename="cvs.tgz"'); : // 讀檔 : readfile('/somepath/filename.tgz'); : ?> -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 203.79.199.36
文章代碼(AID): #1CQYLCO0 (PHP)
文章代碼(AID): #1CQYLCO0 (PHP)