當前位置:首頁 » 編程語言 » phpfputcsv

phpfputcsv

發布時間: 2022-06-21 03:31:44

A. php輸出excle表格樣式,需要代碼形式,一定重謝!!!!!急急急

<?php
$list = array
(
'位置','單元','房間','學號','姓名','性別','專業'
);

//$file = fopen("contacts.csv","a");
header('Content-Type: application/vnd.ms-excel;charset=gb2312');
header('Content-Disposition: attachment;filename='.date("YmdHis").".csv");
header('Cache-Control: max-age=0');

// 打開PHP文件句柄,php://output 表示直接輸出到瀏覽器
$fp = fopen('php://output', 'a');

foreach ($list as $key=>$val)
{
$list[$key] = $val;

}
fputcsv($fp,$list);
//explode(',',$line)

$con = mysql_connect("localhost","root","admin");
mysql_select_db("php_jquery_example");
$sql = "select event_id, event_title, event_desc,event_start, event_end from events";
$result = mysql_query($sql);
while($row = mysql_fetch_array($result) ){
$list2 = array($row[0],$row[1],$row[2],$row[3],$row[4]);
foreach($list2 as $k=>$val){
$list2[$k] = $val;
}
fputcsv($fp,$list2);
unset($list2);
}
fclose($fp);
mysql_close();
?>

B. PHP怎麼在導出csv的時候加雙引號

  1. 使用默認的雙引號做包圍符 ... 但是強制所有元素觸發 ...


foreach($linesas&$line){
foreach($lineas&$column){
$column=$column.'';
}
}


產生的結果大概會類似於下面這樣 ...

"CA","12","Y"
"MU","13","Y"
"MU","12","N"

2.我們去研究手冊 ... 手冊上關於這個函數的說明是這樣的 ...

intfputcsv(resource$handle,array$fields[,string$delimiter=','[,string$enclosure='"']])

你可以看到這個函數支持自定義包圍符 ... 也就是第四個參數 $enclosure ...

於是我們可以手動在所有元素的兩側加上雙引號 ... 並修改默認的包圍符為空 ...

foreach($old['lines']as$line){
fputcsv($new,$line,',','');
}

這種方式可以讓你的例子返回完美的結果 ...


以上是兩種方法。

C. php fputcsv 如何設置單元格寬度

您好,這樣的:
定義和用法
fputcsv() 函數將行格式化為 CSV 並寫入一個打開的文件。
該函數返回寫入字元串的長度。若出錯,則返回 false。。
語法
fputcsv(file,fields,seperator,enclosure)

參數
描述

file 必需。規定要寫入的打開文件。
fields 必需。規定要從中獲得數據的數組。
seperator 可選。規定欄位分隔符的字元。默認是逗號 (,)。
enclosure 可選。規定欄位環繞符的字元。默認是雙引號 "。
說明
fputcsv() 將一行(用 fields 數組傳遞)格式化為 CSV 格式並寫入由 file 指定的文件。
提示和注釋
提示:參見 fgetcsv() 函數。
例子
<?php
$list = array
(
"George,John,Thomas,USA",
"James,Adrew,Martin,USA",
);

$file = fopen("contacts.csv","w");

foreach ($list as $line)
{
fputcsv($file,split(',',$line));
}

fclose($file);
?>

以上代碼執行後,CSV 文件會類似這樣:
George,John,Thomas,USA
James,Adrew,Martin,USA

D. PHP導出MySQL數據到Excel文件(fputcsv)

這里的方法是利用fputcsv寫CSV文件的方法,直接向瀏覽器輸出Excel文件。
復制代碼
代碼如下:
//
輸出Excel文件頭,可把user.csv換成你要的文件名
header('Content-Type:
application/vnd.ms-excel');
header('Content-Disposition:
attachment;filename="user.csv"');
header('Cache-Control:
max-age=0');
//
資料庫中獲取數據,為了節省內存,不要把數據一次性讀到內存,從句柄中一行一行讀即可
$sql
=
'select
*
from
tbl
where
……';
$stmt
=
$db->query($sql);
//
打開PHP文件句柄,php://output
表示直接輸出到瀏覽器
$fp
=
fopen('php://output',
'a');
//
輸出Excel列名信息
$head
=
array('姓名',
'性別',
'年齡',
'Email',
'電話',
'……');
foreach
($head
as
$i
=>
$v)
{
//
CSV的Excel支持GBK編碼,一定要轉換,否則亂碼
$head[$i]
=
iconv('utf-8',
'gbk',
$v);
}
//
將數據通過fputcsv寫到文件句柄
fputcsv($fp,
$head);
//
計數器
$cnt
=
0;
//
每隔$limit行,刷新一下輸出buffer,不要太大,也不要太小
$limit
=
100000;
//
逐行取出數據,不浪費內存
while
($row
=
$stmt->fetch(Zend_Db::FETCH_NUM))
{
$cnt
++;
if
($limit
==
$cnt)
{
//刷新一下輸出buffer,防止由於數據過多造成問題
ob_flush();
flush();
$cnt
=
0;
}
foreach
($row
as
$i
=>
$v)
{
$row[$i]
=
iconv('utf-8',
'gbk',
$v);
}
fputcsv($fp,
$row);
}
優點簡單易用,非常節省內存,不依賴第三方類庫。

E. php 生成 csv文件

$filename="export_".date('Ymd').".csv";
header('Content-Type:application/vnd.ms-excel');
header('Content-Disposition:attachment;filename="'.$filename.'"');
header('Cache-Control:max-age=0');

//寫入你的查詢代碼

$fp=fopen('php://output','a');
$print_hea=array("姓名","年齡","性別");
fputcsv($fp,$print_hea);

//下面是你的查詢結果代碼,把結果循環在數組中後使用
fputcsv($fp,$print_hea_new);

F. php 寫入數據到csv中,不覆蓋原有數據,以新增行插入如何實現

這個跟fputcsv無關,而主要的關鍵在於你打開文件的模式,你需要使用 a 或是 a+ 模式打開文件。

'a' 寫入方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。
'a+' 讀寫方式打開,將文件指針指向文件末尾。如果文件不存在則嘗試創建之。

$fp = fopen('file.csv', 'a+');

foreach($stu as $data);
{
fputcsv($fp,$data); //每次寫入一組數據到csv文件中的一行
}

G. php fputcsv 寫入csv文件之前使用iconv將utf-8字元集轉換為unicode,打開文件亂碼。那說明轉換失敗

你需要確定轉換編碼前的字元編碼,如果不是utf-8也會出現亂碼

H. php中如何導入導出CSV格式的文件

其實你可以用
phpmyadmin
實現導入導出,不過導入的時候欄位要和數據表的欄位一一對應,參考資料裡面的直接用PHP讀取excel的,可能也會對你有幫助!

I. 淘寶csv怎麼寫入bom頭 php fputcsv

<?php
$list = array
(
"George,John,Thomas,USA",
"James,Adrew,Martin,USA",
);

$file = fopen("contacts.csv","w");

foreach ($list as $line)
{
fputcsv($file,split(',',$line));
}

fclose($file);
?>

J. php 如何從數據里選擇所需要信息然後生成csv文件自動保存在指定的路徑(不提示保存,自動)

命令行模式下,或者web模式下保存的路徑在伺服器中,可以達到你的要求(有該路徑的許可權即可)

如果是在web模式下,不提示直接保存到訪客的電腦中的某個位置,是不可以的。

web模式保存到客戶端,只能通過下載,由用戶指定,或保存到默認的下載目錄。

以下是代碼示例:

$dsn='mysql:dbname=testdb;host=127.0.0.1';
$user='dbuser';
$password='dbpass';

//連接資料庫pdo
try{
$dbh=newPDO($dsn,$user,$password,array(PDO::MYSQL_ATTR_INIT_COMMAND=>"SETNAMES'UTF8'"));
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();exit;
}

//讀取數據,具體sql你根據情況修改
$stat=$dbh->prepare('SELECT*FROM`table`WHERE`id`>0LIMIT100;');
$stat->execute();
$result=$stat->fetchAll(PDO::FETCH_ASSOC);

//創建csv文件並打開文件指針
$filepath='file.csv';
$fp=fopen($filepath,'w');

//寫入數據
foreach($resultas$i=>$row){
//寫入標題行
if($i==0){
fputcsv($fp,array_keys($row));
}
fputcsv($fp,$row);
}

//關閉文件指針
fclose($fp);

//把文件輸出到下載
$file=fopen($filepath,"r");//打開文件
$size=filesize($filepath);
Header("Content-type:application/octet-stream");
Header("Accept-Ranges:bytes");
Header("Accept-Length:".$size);
Header("Content-Disposition:attachment;filename=download.csv");
echofread($file,$size);
fclose($file);

相關知識點:

PHP: fputcsv

PHP:PDO

資料庫查詢的時候只返回列名,防止列出現重復,csv里會有重復的數據

熱點內容
如何配置2檸檬酸 發布:2025-02-06 00:57:26 瀏覽:434
積木源碼 發布:2025-02-06 00:55:26 瀏覽:545
變分的運演算法則 發布:2025-02-06 00:55:21 瀏覽:775
x2哪個配置性價比高 發布:2025-02-06 00:40:12 瀏覽:109
豬哥亮訪問張菲 發布:2025-02-06 00:37:52 瀏覽:570
期貨賬戶怎麼改密碼 發布:2025-02-06 00:32:35 瀏覽:279
qq自動上傳群文件 發布:2025-02-06 00:26:25 瀏覽:111
安卓照片放在什麼地方 發布:2025-02-06 00:26:24 瀏覽:988
linux系統鏡像iso 發布:2025-02-06 00:15:39 瀏覽:188
存儲上料模塊的意義 發布:2025-02-06 00:14:14 瀏覽:125