I had a lot of trouble with this recently, so hope this helps. Google is pretty strict with the CSV files it imports.
First off open Excel. On the top line of your file, you want to have the following headers:
Subject, Start Date, Start Time, End Date, End Time, All Day Event, Reminder On/Off, Reminder Date, Reminder Time, Meeting Organizer, Description, Location, Private
Every event (every row in Excel) needs to have a Subject, Start Date, and Start Time. The other headers are optional and you can mix and match them as much as you please. Here is a complete sample I uploaded today.
Subject, Start Date, Start Time, End Date, End Time, Private, All Day Event, Location Ramsay Shield, 7/26/2008, 7:00 PM,, 9:00 PM, FALSE,, TBC Training, 7/27/2008, 12:00 PM,, TRUE, FALSE,
Highlight every time under
End Time, and
Reminder Time, click “Format Cells,” then “Time,” then “1:30 PM.” Highlight every date under Start Date, End Date, Reminder Date, click “Format Cells,” then “Date,” then “3/14/2001.”
You need to do both of those things for Google to recognize your file.
Private, All Day Event, Reminder On/Off – type True or False in the relevant space. If you leave them blank Google Calendar will use the default settings for these events (for privacy, it will make the event private or public depending on whether the calendar is private or public). If there isn’t any info after Start Date & Start Time, Google assumes the event is one hour long. Make sure also that the only data on the spreadsheet is events – otherwise Google will return an error.
Once you’re done click File –> Save As, then click down at the bottom where it says “Microsoft Office Excel Notebook” for file type, and change it to CSV (Comma Separated Value) format. Then you’re ready to upload to Google!
On a separate note, if you upload the same CSV file twice, Google will create duplicates of your events rather than replace the first set. There’s no “Remove duplicates” button either – you have to do it manually, or erase the whole calendar and start again.