本文目錄一覽:
- 1、需要處理一批txt文本文件,用Tab分隔符分隔的。但不會用VBA編程,求大神
- 2、php 生成csv文件並提示保存
- 3、給我寫一個生成CSV的PHP程序
- 4、PHP操作CSV文件的問題,請教大家!
- 5、php從資料庫導出csv格式的Excel表格是,欄位本身就有逗號怎麼辦?說在欄位上加雙引號,但加在哪??
- 6、PHP如何將用製表符「\t」作分隔符的CSV文件正常導入MYSQL?謝謝~
需要處理一批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的格式就是要求用”,”分割
你需要自己逐行分析這個文件才行
原創文章,作者:GUXMY,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/317064.html