有不理解的追问我
Sub txt_saveas_excel()
Dim target_path As String
Dim target_name As String
Dim result_fName As String
target_path = "D:\"
'打开目标文件
Workbooks.Open (target_path target_name)
'目标文件路径下的结果文件夹下,并把txt后缀换成xlsx后缀
result_fName = target_path "结果\" Replace(target_name, ".txt", ".xlsx")
'文件另存,后缀不同用不同的格式代码
'关闭文件,不用再保存
ActiveWorkbook.Close False
End Sub
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;
看你的php版本了
高版本直接有方法不用自己写
fputcsv($fp, split(',', $line));
这样就可以
第一个参数是你的文件,第二个是分隔符,第三个是每次写入的行
如果php版本较低
可以这么写
if(!file_exists($file))
{
$handle=fopen($file, "a ");
while (!$recordSet-EOF)
fwrite($handle,$recordSet-field('对应列名')."," . $recordSet-field('对应列名'));//依此类推
$recordSet-MoveNext();
}
fclose($handle);
当然也可以编写一个csv的类(网上看到有人这么做)
其实感觉意义不大
csv是以逗号和回车分隔开的 ..
你首先读取文件..
然后用explode分隔回车,
得到一个数组,再对数组内的数据遍历用逗号分隔.会得到具体的数据..
思路就这样....自己多加尝试..理解就可以..
$data[$key]=implode("\t",$data[$key]);
你的程序用这个语句把一行数组转换为TAB分割的字符串,这样EXCEL是可以打开的,只是不完全符合CSV的规则(逗号分开),要改为逗号分开,而且每个字段要用引号,该语句修改为下面这样既可:
$data[$key]='"' . implode('","',$data[$key]) . '"';
那你就不能用fgetcsv这个方法了
这个方法就是处理csv的
而csv的格式就是要求用","分割
你需要自己逐行分析这个文件才行
以上就是土嘎嘎小编为大家整理的tab分隔成一个csv与php的简单介绍tab分隔成一个csv与php的简单介绍相关咨询咨询主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!