1、首先我們準備一個含有數(shù)據(jù)的Excel表格,表頭和數(shù)據(jù)表中的表字段相對應。
十年的平陰網(wǎng)站建設(shè)經(jīng)驗,針對設(shè)計、前端、開發(fā)、售后、文案、推廣等六對一服務(wù),響應快,48小時及時工作處理。成都營銷網(wǎng)站建設(shè)的優(yōu)勢是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動調(diào)整平陰建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計,從而大程度地提升瀏覽體驗。成都創(chuàng)新互聯(lián)公司從事“平陰網(wǎng)站設(shè)計”,“平陰網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
2、在ThinkPHP中引入PHPExcel類庫。
3、然后我們編寫導入的PHP代碼。
4、然后我們編寫導出的PHP代碼。
5、然后我們進行導出測試發(fā)現(xiàn)可以導出即可。
php導入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導出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,標題,名稱,電話,QQ,Email,內(nèi)容,時間\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;
?
序列化(serialize)、變量、xml、json是PHP常見的4種文本數(shù)據(jù)交換形式。
一、序列化與反序列化
使用serialize與unserialize將可以將任何數(shù)據(jù)類型(除了資源),格式成文本數(shù)據(jù)格式,是php內(nèi)置的,使用最方便,可以原汁原味將數(shù)據(jù)、對象等保存與恢復再用。
好處:使用方便,支持好。
不好:沒有通用性只有php能夠支持,文本化體積大。
可能:速度可能會慢。
二、變量
將數(shù)據(jù)寫成標準的PHP賦值語句存放在文本文件中,在程序執(zhí)行過程中包含進來,通過執(zhí)行賦值的操作來恢復變量。discuz經(jīng)常使用這種方式做為數(shù)據(jù)的緩存。
好處:直觀。
不好:沒有通用性只有php能夠支持;使用不方便,需要自己將數(shù)據(jù)轉(zhuǎn)化成賦值語句;變量的接收方式也不夠靈活。
可能:速度會快些,與序列化相比存儲體積小。
三、xml
將數(shù)據(jù)格式化成xml存儲與解析。
好處:通用性強,可以與其它程序語言的數(shù)據(jù)交換;php已經(jīng)有內(nèi)置的函數(shù)支持。
不好:文本化的體積大;格式化與反解效率低。
四、json
也是類似于xml的一種文本型數(shù)據(jù)交換格式。是一種為解決xml瀏覽器數(shù)據(jù)交換復雜而出現(xiàn)一種新的數(shù)據(jù)格式。
好處:通用性強,目前主流的語言已經(jīng)內(nèi)置支持了,5.2(具體請查手冊)版本已經(jīng)內(nèi)置支持。php5以后使用很方便,使用方便與序列化類似。與xml相比有更好的兼容性、效率高,尤其是對于瀏覽器。而數(shù)據(jù)格式體積很小。
可能:效率問題,尤其是解析的效率問題。