1、首先創(chuàng)建要插入100萬(wàn)數(shù)據(jù)的表格,隨機(jī)產(chǎn)生數(shù)字。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括涇川網(wǎng)站建設(shè)、涇川網(wǎng)站制作、涇川網(wǎng)頁(yè)制作以及涇川網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,涇川網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到?jīng)艽ㄊ》莸牟糠殖鞘校磥?lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!
2、其次創(chuàng)建存儲(chǔ)過(guò)程,并向表中插入數(shù)據(jù),調(diào)用存儲(chǔ)過(guò)程進(jìn)行插入數(shù)據(jù),插入300萬(wàn)條數(shù)據(jù),且分幾次插入。
3、最后導(dǎo)出數(shù)據(jù)到csv,使用函數(shù)selectxxxintooutfile,其中outfile后面的路徑可以是Windows或macOS或者Linux。
php導(dǎo)入CSV文件:
$line_number = 0;
$handle = fopen("1.xls","r");
while ($data = fgetcsv ($handle, 100000, ",")) {
if($line_number == 0){
$line_number++;
continue;
}
//z這樣就可以去掉表頭的那一行
for ($i = 0; $i count($data); $i++) {
$ziduan = $data[$i];
}
}
2.php導(dǎo)出CSV文件
header( "Cache-Control: public" );
header( "Pragma: public" );
header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:attachment;filename=txxx.csv");
header('Content-Type:APPLICATION/OCTET-STREAM');
ob_start();
$header_str = ?iconv("utf-8",'gbk',"信息id,標(biāo)題,名稱,電話,QQ,Email,內(nèi)容,時(shí)間\n");
$file_str="";
$mysqli= new mysqli('localhost','root','','test');
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql='select * ?from messages';
$mysqli-query("set names utf8 ;");
$result=$mysqli-query($sql);
if($result){
while ($row = mysqli_fetch_assoc($result)){
$file_str.= $row['id'].','.$row['title'].','.$row['name'].','."'{$row['telephone']}'".','.$row['qq'].','.$row['email'].','.str_ireplace(',',',',$row['content']).','.$row['retime']."\n";
}
}else{
echo "nonono!!!";
}
$file_str= ?iconv("utf-8",'gbk',$file_str);
ob_end_clean();
echo $header_str;
echo $file_str;
?
(一)phpexcel文件導(dǎo)出:
步驟1,引入文件require APPPATH.'/libraries/PHPExcel.PHP';
步驟2, 實(shí)例化PHPEXCEL對(duì)象 $objPHPExcel=new PHPExcel();
步驟3, 設(shè)置表頭 $column = array('A','B','C'); $line = array('詞語(yǔ)','頻次','詞性');
//填充表頭信息
for($i = 0;$i count($tableheader_all);$i++) {
$objPHPExcel-getActiveSheet()-setCellValue("$letter[$i]1","$tableheader[$i]");
//上一行中"$letter[$i]1"表示第“1”行第“$i”列
}
步驟4, 填充數(shù)據(jù)
for ($i = 2;$i = count($data) + 1;$i++) {//因?yàn)閮?nèi)容是從第二行開始的,所以i=2表示從第二行開始填充數(shù)據(jù)
$j = 0;
foreach ($tmp as $key=$val ){
$objPHPExcel-getActiveSheet()-setCellValue("$letter[$j]$i",$data[$i-2][$val]); //數(shù)據(jù)是從第一條開始但是i的初值是2所以想從第一條開始應(yīng)該是$data[$i-2]開始
$j++;
}
}
步驟5,寫進(jìn)excel中并輸出
$write = new PHPExcel_Writer_Excel5($objPHPExcel);
header("Pragma: public");
header("Expires: 0");
header("Cache-Control:must-revalidate, post-check=0, pre-check=0");
header("Content-Type:application/force-download");
header("Content-Type:application/vnd.ms-execl");
header("Content-Type:application/octet-stream");
header("Content-Type:application/download");;
header('Content-Disposition:attachment;filename="數(shù)據(jù)導(dǎo)出_詞云圖.xls"');
header("Content-Transfer-Encoding:binary");
$write-save('php://output');
(一)CSV文件導(dǎo)出:
csv文件導(dǎo)出最令人頭疼的問(wèn)題就是編碼問(wèn)題,現(xiàn)在分享一下我的經(jīng)驗(yàn)
首先看服務(wù)器是Linux的還是windows的 如果是windows的服務(wù)器那么編碼問(wèn)題只能借助于mb_convert_encoding()或者是iconv兩個(gè)函數(shù)相互轉(zhuǎn)換中文編碼
如果服務(wù)器是linux的 那么很簡(jiǎn)單 utf-8: setlocale(LC_ALL, ‘en_US.UTF-8′); 簡(jiǎn)體中文:setlocale(LC_ALL, ‘zh_CN');
下面來(lái)說(shuō)csv導(dǎo)出步驟:
$result = mysql_query("select * from student order by id asc");
$str = "姓名,性別,年齡\n";
$str = iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name = iconv('utf-8','gb2312',$row['name']); //中文轉(zhuǎn)碼
$sex = iconv('utf-8','gb2312',$row['sex']);
$str .= $name.",".$sex.",".$row['age']."\n"; //用引文逗號(hào)分開
}
$filename = date('Ymd').'.csv'; //設(shè)置文件名
export_csv($filename,$str); //導(dǎo)出
要將數(shù)據(jù)導(dǎo)出到本地即下載,需要修改header信息,代碼如下:
function export_csv($filename,$data) {
header("Content-type:text/csv");
header("Content-Disposition:attachment;filename=".$filename);
header('Cache-Control:must-revalidate,post-check=0,pre-check=0');
header('Expires:0');
header('Pragma:public');
echo $data;
}
php導(dǎo)出大量數(shù)據(jù)Excel的具體操作步驟如下:
1、使用phpstudy搭建一個(gè)測(cè)試平臺(tái),直接訪問(wèn)數(shù)據(jù)庫(kù)。
2、下載的phpcms安裝包拷貝到IIS目錄,開通訪問(wèn),即可搭建成功。
3、登錄網(wǎng)站后臺(tái),系統(tǒng)權(quán)限,文件目錄以及數(shù)據(jù)庫(kù)等功能,進(jìn)行管理。
4、在phpcms后臺(tái),擴(kuò)展,數(shù)據(jù)庫(kù)工具,數(shù)據(jù)庫(kù)導(dǎo)出,程序池選擇phpcmsv9,開始備份數(shù)據(jù)。
5、打開IIS網(wǎng)站目錄,在D:\wwwroot\kmxy\wwwroot\caches\bakup\default文件夾,查看導(dǎo)出的數(shù)據(jù)庫(kù)文件。
6、登錄phpmyadmin,選擇數(shù)據(jù)庫(kù)導(dǎo)出,選擇Excel格式,即可導(dǎo)出。
網(wǎng)頁(yè)名稱:php導(dǎo)出大數(shù)據(jù)csv php導(dǎo)入excel大數(shù)據(jù)
瀏覽地址:http://chinadenli.net/article46/ddopdeg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供App設(shè)計(jì)、靜態(tài)網(wǎng)站、自適應(yīng)網(wǎng)站、云服務(wù)器、網(wǎng)站維護(hù)、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)