2012-12-20 77 views
-1

我是新來的PHP,也許這可以是愚蠢的.. 我有5個參數添加在Excel 2007文件(* .xlsx)名稱,電話,電子郵件和地址。如何在Excel文件中使用PHP插入一行?

$name = $_POST['name']; 
$email = $_POST['email']; 
$phone = $_POST['phone']; 
$adress = $_POST['adress']; 

我怎樣才能每次代碼運行時添加1行。

+1

http://phpexcel.codeplex.com? –

+0

愛phpexcel :-) – 2012-12-20 19:38:16

+0

[如何使用PHP修改現有的Excel文件?](http://stackoverflow.com/questions/2144638/how-to-modify-existing-excel-file-using-php) – Jocelyn

回答

1

假設你正在使用PHPExcel你會做這樣寫一個單行:

$objPHPExcel = new PHPExcel(); 
$objPHPExcel->setActiveSheetIndex(0); 
$row = 1; 
$objPHPExcel->getActiveSheet()->SetCellValue('A'.$row, $_POST['name']); 
$objPHPExcel->getActiveSheet()->SetCellValue('B'.$row, $_POST['email']); 
$objPHPExcel->getActiveSheet()->SetCellValue('C'.$row, $_POST['phone']); 
$objPHPExcel->getActiveSheet()->SetCellValue('D'.$row, $_POST['adress']); 
$objWriter = new PHPExcel_Writer_Excel2007($objPHPExcel); 
$objWriter->save('myfile.xlsx'); 

讀取文件涉及這裏開始一直向前:

$objReader = PHPExcel_IOFactory::createReader('Excel2007'); 
$data = $objReader->load('myfile.xlsx'); 
$objWorksheet = $data->getActiveSheet(); 

顯然,您需要做的更深入研究文檔以瞭解如何打開現有文件並將其附加到文檔中,但希望您可以在正確的方向上採取措施。

+0

是的,我使用PHPExcel,但是這個代碼,我已經嘗試過了。 $ LastRow = $ objPHPExcel-> setActiveSheetIndex(0) - > getHighestRow(); $ row = $ LastRow + 1; $ objPHPExcel-> getActiveSheet() - > SetCellValue( 'A' $行,$ _ POST [ '名'])。 唯一的問題是,它總是創建一個新的xls,而不是添加... 任何IDEIA ? – user1818079

+0

保存時,用加載的文件名保存。然後它不會創建一個新的Excel文件,但會覆蓋原始文件 –

+0

@ user1818079,如果您更新上面的答案以發佈迄今爲止確切的代碼,它將有所幫助。 – davidethell

相關問題