当前位置:首页 » 编程语言 » 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里会有重复的数据

热点内容
加密狗是啥 发布:2025-02-06 03:48:03 浏览:552
phpcopy文件 发布:2025-02-06 03:41:26 浏览:410
系统配置页面怎么设置 发布:2025-02-06 03:36:34 浏览:693
家庭电脑搭建流媒体服务器 发布:2025-02-06 03:19:02 浏览:342
matlab稀疏矩阵存储 发布:2025-02-06 03:07:54 浏览:838
国际服2b2t服务器地址 发布:2025-02-06 03:06:28 浏览:390
c语言输出b 发布:2025-02-06 03:06:27 浏览:31
普通火车wifi密码多少 发布:2025-02-06 03:04:20 浏览:436
可编程监控 发布:2025-02-06 03:03:33 浏览:645
c语言取随机数 发布:2025-02-06 02:46:57 浏览:863