2016-09-30 41 views
-1

逗號分隔的.csv文件我想:用PHP創建

  1. 創建PHP代碼逗號分隔的.csv文件。
  2. 在.csv文件的第一行插入列名稱。

請告訴我該如何做到這一點。

<?php 

    header("Content-type: text/csv"); 
    header("Content-Disposition: attachment; filename=".$batch_id.".csv"); 
    header("Pragma: no-cache"); 
    header("Expires: 0"); 

    $conn_sp = mssql_connect("SQLServer", "user", "password"); 
    $db_sp = mssql_select_db("databaseName", $conn_sp); 
    $stmt = mssql_init("[StoredProcedureName]",$conn_sp);  
    mssql_bind($stmt, "@BatchNo", $batch_id, SQLVARCHAR, FALSE, FALSE, 20);  
    $result = mssql_query("SET ANSI_NULLS ON"); 
    $result = mssql_query("SET ANSI_WARNINGS ON");  
    $result = mssql_execute($stmt); 
    $record=""; 
    $comma=","; 
    $record_end="\n"; 
    while ($row = mssql_fetch_array($result, MSSQL_ASSOC)){ 

    foreach ($row as $key => $value) {  

      echo $value;  
     } 
     echo "\n"; 

    }?> 

enter image description here

+0

見http://php.net/手動/ EN/function.fputcsv.php。 – chris85

+2

[用php創建csv文件]可能的重複(http://stackoverflow.com/questions/15501463/creating-csv-file-with-php) – chris85

+0

我試過這些文章,但沒有奏效。不知道,但我做錯了,所以如果你能就上面的代碼提供建議,我會很感激。謝謝! – Paul

回答

0

那麼看看.csv文件是如何創建的。

通常是這樣的:

分隔符:,

新線:由\ n

附上條目: 「

」R1A「,」 R1B 「,」r1c「

」 R2A」, 「R2B」, 「R2C」

等等

這是你的代碼應該如何工作(未經測試):

  echo '"colname1","colname2",...'; 

     while ($row = mssql_fetch_array($result, MSSQL_ASSOC)){ 

      $first = true; 
      foreach ($row as $key => $value) {  

       if(!$first) { 
        echo ","; 
       } 

        echo '"'.$value.'"';  
       } 
       echo "\n"; 
       $first=false; 
      } 
+0

不要製作自己的CSV解析器。如果'$ value'有雙引號,逗號怎麼辦? – chris85

+0

那麼,Chris最好的辦法是什麼?你能分享一下嗎?謝謝! – Paul

+0

@Paul請使用'@'標記用戶,否則通知不會發送。你應該使用內置的選項,http://php.net/manual/en/function.fputcsv.php。這個頁面上有一些例子。如果您對該帖子有問題,您的使用情況和發生的情況。 – chris85