2014-01-29 200 views
5

我想知道是否可以根據它們包含的內容來設置列的大小。 我想當你打開CSV一旦它被直接生成列是正確的大小。CSV根據內容調整列大小

對於在CSV寫我有這樣的代碼:

$csvFile = fopen(CSV_FILE, $writeMode); 
      $searchStr = array(";"); 
      $replaceStr = array(","); 
      foreach ($csvArray as $csvArrayRow) { 
       fwrite($csvFile, iconv("UTF-8", "Windows-1252",str_replace($searchStr, $replaceStr, html_entity_decode($csvArrayRow["title"], ENT_HTML401 | ENT_QUOTES, "UTF-8")).";")); 
       fwrite($csvFile, iconv("UTF-8", "Windows-1252",str_replace($searchStr, $replaceStr, html_entity_decode($csvArrayRow["author"], ENT_HTML401 | ENT_QUOTES, "UTF-8")).";")); 
       fwrite($csvFile, $csvArrayRow["date"].";"."\n"); 
      } 
      fclose($csvFile); 

      echo json_encode(array(count($csvArray))); 

      exit; 

有可能添加了一些調整列寬或者是別的地方?

回答

5

CSV文件根本不包含有關列寬的任何信息,這就是爲什麼即使您打開文件,設置列寬並將其保存爲CSV文件,下次打開它們時不會已經保存了您設置的寬度。所以不,你不能設置列打開時的寬度。

+0

這就是我的想法,但由於我目前並不是所有生成CSV的技術我都不確定。 – mortiped

0

您可能可以用空格填充每個字段,直到它達到預定大小。但我想這仍然取決於你在哪裏打開CSV文件。無論如何,我認爲這不是一個好做法。

+0

生成csv,添加近似數量的空間真的不是一個好習慣,我不確定即使空間列被調整大小。不過謝謝你。 – mortiped

相關問題