php導出數(shù)據(jù)excel有專門的庫,當導出少量數(shù)據(jù)的時候速度很快,但是當數(shù)據(jù)量大的時候就會存在服務器內(nèi)存不夠之類的。
冷水江網(wǎng)站建設公司創(chuàng)新互聯(lián)公司,冷水江網(wǎng)站設計制作,有大型網(wǎng)站制作公司豐富經(jīng)驗。已為冷水江上千提供企業(yè)網(wǎng)站建設服務。企業(yè)網(wǎng)站搭建\外貿(mào)網(wǎng)站制作要多少錢,請找那個售后服務好的冷水江做網(wǎng)站的公司定做!
所以在導出大量數(shù)據(jù)的時候就應該分頁查詢數(shù)據(jù),避免服務器宕機。正好PHP提供了fputcsv函數(shù)可以將數(shù)據(jù)寫入到csv文件中。
這樣我們就可以使用PHP對數(shù)據(jù)進行分頁查詢,再寫入到csv文件中。
1、首先創(chuàng)建要插入100萬數(shù)據(jù)的表格,隨機產(chǎn)生數(shù)字。
2、其次創(chuàng)建存儲過程,并向表中插入數(shù)據(jù),調(diào)用存儲過程進行插入數(shù)據(jù),插入300萬條數(shù)據(jù),且分幾次插入。
3、最后導出數(shù)據(jù)到csv,使用函數(shù)selectxxxintooutfile,其中outfile后面的路徑可以是Windows或macOS或者Linux。
根據(jù)下列編碼程序可以。
1./*** 批量導出數(shù)據(jù)* @param $arr 從數(shù)據(jù)庫查詢出來,即要導出的數(shù)據(jù)* ?$name excel表歌名*/
2.function expExcel($arr,$name){?require_once 'PHPExcel.php';
3. //實例化?$objPHPExcel = new PHPExcel();?/*右鍵屬性所顯示的信息*/
4.$objPHPExcel-getProperties()-setCreator("zxf") ?//?-setLastModifiedBy("zxf") ?//最后一? -setTitle('數(shù)據(jù)EXCEL導出') ?//標題-setSubject('數(shù)據(jù)EXCEL導出') //主題setDescription('導出數(shù)據(jù)') ?//描setKeywords("excel") ? //標記setCategory("result file"); ?//類別
5. //設置當前的表格??$objPHPExcel-setActiveSheetIndex(0);// 設置表格第一行顯示內(nèi)容$objPHPExcel-getActiveSheet()? -setCellValue('A1', '業(yè)主姓名')?-setCellValue('B1', '密碼')-setCellValue('C1', '手機號碼'? -setCellValue('D1', '地址')
6.//設置第一行為紅色字體?-getStyle('A1:D1')-getFont()-getColor()-setARGB(PHPExcel_Style_Color::COLOR_RED);$key = 1;?/*以下就是對處理Excel里的數(shù)據(jù)。