❶ php 生成 csv文件
<?php
/**
*CreatedbyPhpStorm.
*User:[email protected]
*Date:2016/12/210021
*Time:下午12:08
*/
//頭部標題
$csv_header=['名稱','性別','年齡'];
//內容
$csv_body=[
['張三','男','13'],
['李四','女','13'],
['王五','男','13'],
['趙六','未知','13']
];
/**
*開始生成
*1.首先將數組拆分成以逗號(注意需要英文)分割的字元串
*2.然後加上每行的換行符號,這里建議直接使用PHP的預定義
*常量PHP_EOL
*3.最後寫入文件
*/
//打開文件資源,不存在則創建
$fp=fopen('test.csv','a');
//處理頭部標題
$header=implode(',',$csv_header).PHP_EOL;
//處理內容
$content='';
foreach($csv_bodyas$k=>$v){
$content.=implode(',',$v).PHP_EOL;
}
//拼接
$csv=$header.$content;
//寫入並關閉資源
fwrite($fp,$csv);
fclose($fp);
❷ php輸出csv後 如何將數據輸出到網頁的問題
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;
header('content-Type:text/html');
echo "成功!";
}
❸ 如何用PHP實現資料庫導出到txt文件或csv文件
while($r=mysql_fetch_assoc($rs)){
file_put_contents('文件名','"'.join('","',$r).'"'.PHP_EOL,FILE_APPEND);
}
❹ PHP導出數據到CSV 如何排版
導給你的數據包一般是兩個文件,XXX.csv和XXX的文件夾。 把下面這短代碼復制到記事本里,然後把記事本的格式txt修改為bat格式的,最後放在XXX文件夾中雙擊運行即可。 代碼如下:(請復制,中間有空格的) ren *.tbi *.jpg 望採納給分~
❺ php中如何導入導出CSV格式的文件
其實你可以用
phpmyadmin
實現導入導出,不過導入的時候欄位要和數據表的欄位一一對應,參考資料裡面的直接用PHP讀取excel的,可能也會對你有幫助!
❻ php導出excel或csv
<?php
ob_start();
header("<meta http-equiv=\"content-type\" content=\"text/html;charset=uft-8\">");
header("Content-Type: application/vnd.ms-excel");
header("Expires:0");
header("Cache-Control: must-revalidate, post-check=0, pre-check=0");
header("content-disposition: attachment;filename=文件名稱");
$row = $db -> ... ... # 這里可以進行資料庫的操作,記住:ob_start();前不要有輸出
?>
❼ php從資料庫導出csv格式的Excel表格是,欄位本身就有逗號怎麼辦說在欄位上加雙引號,但加在哪
$data[$key]=implode("\t",$data[$key]);
你的程序用這個語句把一行數組轉換為TAB分割的字元串,這樣EXCEL是可以打開的,只是不完全符合CSV的規則(逗號分開),要改為逗號分開,而且每個欄位要用引號,該語句修改為下面這樣既可:
$data[$key]='"' . implode('","',$data[$key]) . '"';
❽ php導出csv欄位數據怎麼對應
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++) {
$zian = $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");
$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;
?>
❾ php csv導出有時有數據有時無數據又不報錯
這個簡單,
加個條件;
where id>=0
前提是ID要自增就可以了
-----------------------
這可能是數據量過大,
寫入超時造成的;
你把持續連接時間設置的多一點;就可以了;