Spreadsheets To Encoded Archival Description
Clone or download



Spreadsheets To Encoded Archival Description. Turns CSV files of container lists into a stub EAD XML record.


Sometimes donors have spreadsheets which list the contents of their collections. Rather than retype all of these into a tool like Archivists' Toolkit or an XML editor, wouldn't it be nice to automatically generate a stub EAD XML document from the spreadsheet?

With Stead you can. Just edit the headers (first row of the spreadsheet) to conform to the Stead schema. This may involve splitting some columns to conform to the schema, adding columns, and other editing. All of this is likely easier, faster and more accurate to do in a spreadsheet than trying to do it elsewhere retyping the whole thing.

Once the spreadsheet is ready just save it as a CSV and use the commandline tool csv2ead to output an EAD XML document. Enjoy.

The EAD XML template is based off of the output generated by Archivists' Toolkit, but should work with other systems and XSL stylesheets.

Try it!

Steady is a Rails application which wraps stead. You can try it here: steady.heroku.com




gem install stead

Examples that follow the schema

Look in test/container_lists/ at the following good examples of the CSV schema: mc00000_container_list.csv mc00000_container_list_no_series.csv The order of the columns does not matter, but the headings must be exactly the same case and spaces as those found in these files.


Once you have your spreadsheet in the correct schema, do the following:

  • Save the spreadsheet as a CSV file.

  • csv2ead –help for current commandline options.


From the commandline you can specify a Stead::Extra class which will be required. This class must define a Stead::Extra.run method which accepts an ead and eadid, creates a new Stead::Extra object and then does any further processing you'd like. See examples/ncsu.rb.


Please let me know what else you need in such a tool and I'll try to work it in.


  • Some of this is still be NCSU and possibly Archivists' Toolkit specific.

  • Only works with this specific schema. Please submit ideas for expansion.

  • Only known to work with series at the c01 level and files at the c02 level. Other deeper levels of nesting will not currently work. May work with subseries or with no series at all.

  • Column values like series must be duplicated for each row.


  • More tests (though there are already lots of tests).

  • Better documentation on the CSV file schema.

  • Automate tests of csv2ead tool.

  • Expand the schema to other parts of the EAD?


Jason Ronallo


Linda Sellars for creating the initial schema.


Copyright © 2010 North Carolina State University. See LICENSE for details.