您的位置:

tab分隔成一个csv与php的简单介绍

本文目录一览:

需要处理一批txt文本文件,用Tab分隔符分隔的。但不会用VBA编程,求大神

有不理解的追问我

Sub txt_saveas_excel()

  Dim target_path As String

  Dim target_name As String

  Dim result_fName As String

  target_path = "D:\"

  target_name = "123.txt"

  '打开目标文件

  Workbooks.Open (target_path target_name)

  '删掉第五列以后所有列,如果是以前excel版本可能没有16384列,把这个数值改小就可以了

  Range(Columns(6), Columns(16384)).Delete shift:=xlLeft

  '删掉2-4列,shift:=xlLeft可不要,默认就是向左

  Range(Columns(2), Columns(4)).Delete shift:=xlLeft

  '目标文件路径下的结果文件夹下,并把txt后缀换成xlsx后缀

  result_fName = target_path "结果\" Replace(target_name, ".txt", ".xlsx")

'    FileExtStr = ".xlsb": FileFormatNum = 50

'    FileExtStr = ".xlsx": FileFormatNum = 51

'    FileExtStr = ".xlsm": FileFormatNum = 52

'    FileExtStr = ".csv": FileFormatNum = 6

'    FileExtStr = ".txt": FileFormatNum = -4158

'    FileExtStr = ".prn": FileFormatNum = 36

  '文件另存,后缀不同用不同的格式代码

  ActiveWorkbook.SaveAs result_fName, 51

  '关闭文件,不用再保存

  ActiveWorkbook.Close False

End Sub

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;

?

给我写一个生成CSV的PHP程序

看你的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的类(网上看到有人这么做)

其实感觉意义不大

PHP操作CSV文件的问题,请教大家!

csv是以逗号和回车分隔开的 ..

你首先读取文件..

然后用explode分隔回车,

得到一个数组,再对数组内的数据遍历用逗号分隔.会得到具体的数据..

思路就这样....自己多加尝试..理解就可以..

php从数据库导出csv格式的Excel表格是,字段本身就有逗号怎么办?说在字段上加双引号,但加在哪??

$data[$key]=implode("\t",$data[$key]);

你的程序用这个语句把一行数组转换为TAB分割的字符串,这样EXCEL是可以打开的,只是不完全符合CSV的规则(逗号分开),要改为逗号分开,而且每个字段要用引号,该语句修改为下面这样既可:

$data[$key]='"' . implode('","',$data[$key]) . '"';

PHP如何将用制表符“\t”作分隔符的CSV文件正常导入MYSQL?谢谢~

那你就不能用fgetcsv这个方法了

这个方法就是处理csv的

而csv的格式就是要求用","分割

你需要自己逐行分析这个文件才行