I did a similar thing in Perl that I am sure can be repurposed in PHP easily. I created a CSV (comma-separated values) file that can be read into Excel.
The idea is to create variables for each form field then push them all into an array variable. Then, set your directory and file name (using ".csv" as the extention) and print the array to the file with a newline character at the end of it. That way, each submission of your form will be neatly written on each line of the resulting text file.
Now here's the trick: before you print the array values (which are the contents of each field in your form), you have to insert a comma between each field value.
When you open your spreadsheet (ideally with headings in the first row), you select Data-->Get External Data-->Import Text File... and navigate to the newly created .csv file. When you import, the data will fall nicely into the slots.
I wanted to do this in PHP, but I couldn't figure a way to insert the commas. Chalk it up as a newbie thing. If you (or anybody else) finds the way, please let me know. It took alot longer in Perl.