2016-04-01 9 views
1

以下のコードは、複数のカラムを持つ.csvファイルをエクスポートします。 「PRET」列は書式付きの一般書式であり、書式xx.xxの商品の価格が含まれています。私はxx,xxに値を入れたいと思う。テキストタイプの列PRETをフォーマットするにはどうすればよいですか? "、"ファイルをエクスポートすると?フォーマットカラムcsv from export php-mysqli

<?php 
// call export function 
exportMysqlToCsv('export_stoc.csv'); 

// export csv 
function exportMysqlToCsv($filename = 'export_stoc.csv') 
{ 
$conn = dbConnection(); 
// Check connection 
if ($conn->connect_error) { 
     die("Connection failed: " . $conn->connect_error); 
} 
//v 

$sql_query = "SELECT 
     produse.DENUMIRE, 
     clase.CLASA, 
     furnizori.NUME_J, 
     furnizori.NUME_F, 
     stoc.CANTITATE, 
     produse.PRET, 
     produse.VALUTA, 
     stare.STARE 
FROM clase 
JOIN produse ON produse.ID_CLASA = clase.ID 
JOIN furnizori ON produse.ID_FURNIZOR = furnizori.ID 
JOIN stoc ON stoc.ID_PRODUS = produse.ID 
JOIN stare ON stare.ID = stoc.ID_STARE; 
    //execute this sql and fetch your results as needed 

// Gets the data from the database 
$result = $conn->query($sql_query); 
$f = fopen('php://temp', 'wt'); 
$first = true; 
while ($row = $result->fetch_assoc()) { 
     if ($first) { 
       fputcsv($f, array_keys($row), ';') 
       $first = false; 
     } 
     fputcsv($f, $row, ';'); 
} // end while 

$conn->close(); 
$size = ftell($f); 
rewind($f); 
header("Cache-Control: must-revalidate, post-check=0, pre-check=0"); 
header("Content-Length: $size"); 
// Output to browser with appropriate mime type, you choose ;) 
header("Content-type: text/x-csv"); 
header("Content-type: text/csv"); 
header("Content-type: application/csv"); 
header("Content-Disposition: attachment; filename=$filename"); 
fpassthru($f); 
exit; 
} 
// db connection function 
function dbConnection(){ 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "bd"; 
// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
return $conn; 
} 

?> 

ありがとうございます!

答えて

0

CSVには「フォーマット」はありません。 CSVは単なるセパレータで区切られたプレーンテキストです。

そう...

should I replace "." with "," when the file is exported.

...はい。

+0

カンマ区切りファイルに別のカンマを追加しませんか。それは悪いアイデアかもしれない – RiggsFolly

+0

実際にカンマを使用して区切りをしているのなら、そうです。その他のセパレータは、セミコロンやタブレータのように一般的に使用されます。あるいは、カンマがセパレータとして認識されないように、値を引用符で囲むこともできます。あなたの出力を解析するプログラムの能力に依存します。 – AnoE

+0

私はテキストの列を書式化する必要があります。Excelでコンマを置き換えます –

関連する問題