使用原生php將資料庫資料匯出到excel檔案中

來源:互聯網
上載者:User

標籤:需要   echo   pex   local   connect   資料匯出   需求   roo   資料   

最近在工作中遇到一個需求,需要將資料庫中的資料匯出到excel檔案中,並下載excel檔案。因為以前沒做過,所以就百度了一下,

網上說的大多是使用PHPExcel類來操作excel檔案,這還要去下載這個類才能使用,而我只想使用原生的php,不想那麼麻煩,好在

也有網友說到關於原生php產生excel檔案的方法,其實很簡單,下面把我結合網上資料自己實踐的代碼分享一下。

一般我們這種導資料的操作都是通過使用者在網頁頁面上點擊某個按鈕觸發相應js方法,然後請求php介面來實現的,所以主要有兩種

方法來完成這種需求。

方法1:直接在js代碼中使用window.open()開啟php介面的url,即可將php產生的excel檔案下載下來。

php介面代碼如下:

$mysqli = mysqli_connect(‘localhost‘, ‘root‘, ‘123456‘, ‘test‘);$sql = ‘select * from country‘;$res = mysqli_query($mysqli, $sql);header("Content-type:application/vnd.ms-excel"); header("Content-Disposition:filename=country.xls"); echo "code\t";echo "name\t";echo "population\t\n";if(mysqli_num_rows($res) > 0) {    while($row = mysqli_fetch_array($res)) {        echo $row[‘code‘]."\t";        echo $row[‘name‘]."\t";        echo $row[‘population‘]."\t\n";    }}

 

方法2:php介面中先把產生的excel檔案儲存在伺服器中,然後把檔案路徑返回給js,js再使用window.open()開啟檔案路徑即可下載。

php介面代碼如下:

$mysqli = mysqli_connect(‘localhost‘, ‘root‘, ‘123456‘, ‘test‘);$sql = ‘select * from country‘;$res = mysqli_query($mysqli, $sql);$file = fopen(‘./country.xls‘, ‘w‘);fwrite($file, "code\tname\tpopulation\t\n");if(mysqli_num_rows($res) > 0) {    while($row = mysqli_fetch_array($res)) {        fwrite($file, $row[‘code‘]."\t".$row[‘name‘]."\t".$row[‘population‘]."\t\n");    }}fclose($file);echo ‘http://www.jtw.com/....../country.xls‘;//這裡返迴文件路徑給js

 

兩種方法很類似,都能實現將資料庫中的資料匯出到excel檔案中並下載檔案,最終檔案如下:

 

使用原生php將資料庫資料匯出到excel檔案中

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.