当前位置:首页 » 编程语言 » phpcsv

phpcsv

发布时间: 2022-01-08 01:34:07

php 导出csv时如何设置属性,合并单元格之类的。。

CSV文件本身就是不带格式符号的纯文字,无法直接在PHP中控制单元格合并这样的事情,我觉得你可以用html代码生成execl能直接读的文档比较好

$result=mysql_query("select*fromstudentorderbyidasc");
$str="<tr><td>姓名</td><td>性别</td><td>年龄</td></tr> ";
$str=iconv('utf-8','gb2312',$str);
while($row=mysql_fetch_array($result)){
$name=iconv('utf-8','gb2312',$row['name']);
$sex=iconv('utf-8','gb2312',$row['sex']);
//要控制合并啥的,在下边修改即可
$str.="<tr><td>".$name."</td><td>".$sex."</td><td>".$row['age']."</td></tr>";
}

$filename=date('Ymd').'.xls';
export_xls($filename,$str);


functionexport_xls($filename,$string){
//可以修改样式,控制字号、字体、表格线、对齐方式、表格宽度、单元格padding等,在下边的<style></style>
$header="<htmlxmlns:o="urn:schemas-microsoft-com:office:office" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns="http://www.w3.org/TR/REC-html40"> <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html> <head> <metahttp-equiv="Content-type"content="text/html;charset=GBK"/> <style> td{padding:4px;mso-ignore:padding;color:windowtext;font-size:10.0pt;font-weight:400;font-style:normal;text-decoration:none;font-family:Arial;mso-generic-font-family:auto;mso-font-charset:134;mso-number-format:General;text-align:general;vertical-align:middle;border:.5ptsolidwindowtext;mso-background-source:auto;mso-pattern:auto;mso-protection:lockedvisible;white-space:nowrap;mso-rotate:0;} </style> </head><body> <tablex:strborder=0cellpadding=0cellspacing=0width=100%style="border-collapse:collapse">";
$footer="</table> </body></html>";
$exportString=$header.$string.$footer;

header("Cache-Control:public");
header("Pragma:public");
header("Content-type:Content-type:application/vnd.ms-excel");
header("Accept-Ranges:bytes");
header("Content-Disposition:attachment;filename=".$filename);
header("Content-length:".strlen($exportString));
echo$exportString;
exit;
}

❷ 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);

❸ php上传文件是,判断是否csv文件的文件类型怎么写

$_FILES接收到文件信息是个数组。

其中$_FILES['myFile']['name']客户端文件的原名称,

您用‘.’来分割$_FILES['myFile']['name']分成一个索引数组,这个数组的最后一个值就是文件的扩展名。

或者你从最后一个“.”位置截取$_FILES['myFile']['name'],截取到最后。得到的结果也是文件的扩展名;

$_FILES['myFile']['type']得到的是文件的 MIME类型,这个并不能很好的反映文件的扩展名,

例如:

MIME类型为“text/html”,这个类型对应.html .htm .stm三种文件扩展名

MIME类型为“text/plain”,对应的是.c .txt .h .bas四种文件扩展名


❹ php如何读取CSV大文件并且将其导入数据库示例

思路:

读取csv文件,每读取一行数据,就插入数据库

示例

文件夹结构

/
file.csv//csv大文件,这里只模拟三行数据,不考虑运行效率(PS:csv文件格式很简单,文件一般较小,解析很快,运行效率的瓶颈主要在写入数据库操作)
index.php//php文件

file.csv

singi,20
lily,19
daming,23

index.php

/**
*读取csv文件,每读取一行数据,就插入数据库
*/

//获取数据库实例
$dsn='mysql:dbname=test;host=127.0.0.1';
$user='root';
$password='';
try{
$db=newPDO($dsn,$user,$password);
}catch(PDOException$e){
echo'Connectionfailed:'.$e->getMessage();
}

//读取file.csv文件
if(($handle=fopen("file.csv","r"))!==FALSE){
while(($row=fgetcsv($handle,1000,","))!==FALSE){
//写入数据库
$sth=$db->prepare('insertintotestsetname=:name,age=:age');
$sth->bindParam(':name',$row[0],PDO::PARAM_STR,255);
$sth->bindParam(':age',$row[1],PDO::PARAM_INT);
$sth->execute();
}
fclose($handle);
}

数据表

CREATETABLE`test`(
`id`INT(10)UNSIGNEDNOTNULLAUTO_INCREMENT,
`name`VARCHAR(255)NULLDEFAULT''COLLATE'utf8mb4_bin',
`age`INT(10)NULLDEFAULT'0',
PRIMARYKEY(`id`)
)
COLLATE='utf8mb4_bin'
ENGINE=InnoDB;

运行结束后,数据库中会插入csv中的三行数据

❺ php 写入数据到csv中,不覆盖原有数据,以新增行插入如何实现

这个跟fputcsv无关,而主要的关键在于你打开文件的模式,你需要使用 a 或是 a+ 模式打开文件。

'a' 写入方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。
'a+' 读写方式打开,将文件指针指向文件末尾。如果文件不存在则尝试创建之。

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

foreach($stu as $data);
{
fputcsv($fp,$data); //每次写入一组数据到csv文件中的一行
}

❻ php逐行读取txt、csv并分页

$filename='a.txt';//文件名
$str=file_get_content($filename);//获得内容
$arr=explode("\n",$str);//分行存入数组
foreach($arr as $row){//遍历每行
$temp=explode(" ",$row);
//此时$temp[0]=前面的id号,$temp[1]=中文名,$temp[2]=后面的一长串
//赋值吧
}

//explode是按字符分割string
//可以查查php手册

//存回去用file_put_content

❼ php导出csv文件时,只能在浏览器上显示文件内容,没有下载提示,更没有下载的csv文件,帮忙指点啊!

据我的理解,export_csv这个函数的功能就是显示csv内容。

按照你的说明猜测,你应该是先将数据库的内容输出到csv文件里,然后再给出一个指向该文件的下载链接就可以了。

export_csv这个函数可以设计成直接用 file 操作函数写入内容就可以了,因为csv本身是纯文本文件,没有什么特殊的文件格式。

❽ php 读取同一目录下的csv文件(一个或多个)

如果你的代码是可以正常运行的,用glob函数可以读取相对应的文件

<?php
$path = 'warehouse_data/DFRC/'
foreach (glob($path."*.csv") as $filename) {
$handle = fopen($filename,"r");
setlocale(LC_ALL,array('zh_CN.gbk','zh_CN.GBK GBK ','zh_CN.gb2312','zh_CN.gb18030','en_US.UTF-8','zh_CN'));
while ($data = fgetcsv($handle, 2000, ",")) {
$sql = "insert into `".$t."`(`pu_no`,`cust_no`,`custname`,`requ`,`supply`,`supply_no`,`ck_adr`,`arr_time`,`arr_adr`,`unload_point`,`indent_mount`,
`snp`,`case_mount`,`dgs`,`gj_dd`,`sd`,`pack_no`,`auto_style`) values ('".$data[0]."','".$data[1]."','".$data[2]."','".$data[3]."','".$data[4]."',
'".$data[5]."','".$data[6]."','".$data[7]."','".$data[8]."','".$data[9]."','".$data[10]."','".$data[11]."','".$data[12]."','".$data[14]."','".$data[15]."',
'".$data[16]."','".$data[17]."','".$data[29]."')" ;
echo $sql.'<br />'
mysql_query($sql);
//print_r($data);
}
unset($handle);
unlink($filename);
}
?>

❾ php导出csv,如下代码为什么不弹出提示保存或打开CSV文件


header ( "Content-type:application/vnd.ms-excel;charset=utf-8" );

❿ php 生成csv文件并提示保存

<?php
//文件名
$filename="test.csv";

//数据(具体的根据需要做处理,如果是从数据库查询,原理与此类似,只需设置好写入格式和数据即可。
$data="测试csv";

//设置header
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;
?>

热点内容
七七源码 发布:2024-11-24 22:47:20 浏览:676
请访问其他页面 发布:2024-11-24 22:46:09 浏览:555
爱丢了编程 发布:2024-11-24 22:32:36 浏览:109
linux分割行 发布:2024-11-24 22:11:02 浏览:577
获取ftp文件 发布:2024-11-24 21:54:20 浏览:521
资源平滑算法 发布:2024-11-24 21:54:18 浏览:58
vs和vc编译器哪个好使 发布:2024-11-24 21:54:07 浏览:805
爱课程适用于什么安卓系统 发布:2024-11-24 21:54:02 浏览:39
51单片机编译 发布:2024-11-24 21:50:05 浏览:367
android常用的工具类 发布:2024-11-24 21:42:25 浏览:49