2017-06-19 6 views
0

私のフォームからExcelスプレッドシートにデータを追加する次のコードがあります。新しいユーザーがフォームに記入するときしかし、それは私が新しいフォームの送信は「datacollection.xlsx」PHPを使用してExcelファイルの新しい行にデータを追加

<?php 

$name = $_POST['name']; 
$email = $_POST['email']; 
$title = $_POST['title']; 
$company = $_POST['company']; 

$fp=fopen(".datacollection.xlsx","w"); 
fputcsv($fp, array($name, $email, $title, $company), ';'); 
fclose($fp); 

?> 

ヘルプは高く評価され、このファイルに新しい行を移入することを確認してくださいだろうか、最初の行のデータが上書きされます!

+0

あなたの最初のペースでExcel形式のファイルを絞っていないこと、これが適切に新しい行を処理するのと同じCSV – rtfm

答えて

2

wモードfopen()の代わりにa+を使用して、ファイルポインタをファイルの最後に配置します。同様に:

... 
$fp=fopen(".datacollection.xlsx","a+"); //use a+ instead of w 
fputcsv($fp, array($name, $email, $title, $company), ';'); 
... 
+0

? – ChickenFeet

+0

@ChickenFeet fputcsvは、一部のシステムでは動作しない可能性のある行末の\ nを使用します。そのため、必要に応じて何らかのカスタマイズが必要になることがあります。参考までここをクリック:: https://stackoverflow.com/questions/4080456/fputcsv-and-newline-codes –

関連する問題