Importing an Excel (xls) File to Generate Nodes or Terms (Feeds)

Often we get issued an Excel spreadsheet of pages with names and description and need to import them into Drupal.  Here are the steps.

Steps for Import

  1. Clean up your Spreadsheet to get rid of any glaryingly bad data an un-needed columns.
  2. Save teh Excel file
  3. Upload the file to the free converter http://www.zamzar.com/  Select XML as the output and have it emailed to you when complete
  4. Install the following modules: 
    1. Feeds http://drupal.org/project/feeds
    2. Feeds Admin UI
    3. Feeds XPath Parser http://drupal.org/project/feeds_xpathparser
  5. Open the new xml file in notepage++  when you receive it.
  6. Create a new Feed Importer  admin/structure/feeds/create
  7. Set up the following configurations
    [[{"type":"media","view_mode":"media_original","fid":"50","attributes":{"alt":"","class":"media-image","typeof":"foaf:Image"}}]] 
  8. Click on the "Mapping" link in the bottom tab.
  9. Add field by field the items you want to import.  One of them must be set as unique. (order does not matter)
    [[{"type":"media","view_mode":"media_original","fid":"51","attributes":{"alt":"","class":"media-image","typeof":"foaf:Image"}}]] 
  10. Once these settings are saved, go to the XPath XML parser -> Settings and set these xpaths in this style
     [[{"type":"media","view_mode":"media_original","fid":"52","attributes":{"alt":"","class":"media-image","typeof":"foaf:Image"}}]]
  11. Once these settings are saved, delete that first "Key" record from the xml file then save it.
  12. Go to /import and choose your newly created importer.  Select the xml file you want to import and click the import button.  (it will then run through the document and generate the nodes based on the pattern.   (suggestion: always start with a small sample of a couple of pages so that you don't have much to delete if the import goes astray while you fine tune the mappings.)

Another option that I have also found is to use OpenOffice Calc and add this exporter to it. You will need the large spreadsheet version as the other one seems to crash on the large scale imports.
http://digitalimprint.com/misc/oooexport/

In the XPath Parser settings you would use

//ooo_row

and in the individual field settings you would use :
column_1
column_2
column_3 ...

section: