How to create the equivalent of a spreadsheet? I don't want to start with too many unnecessary details on this one. I've got a stack of codes. Weekly more codes are added. On occasion these codes will be 'used' by other systems. These other systems are not Drupal sites.  

I'm not sure how else to describe this, but all I want is the equivalent of a spreadsheet in Drupal: It should be possible to add rows, and delete rows of data on a single page, instead of creating a new node for every single code. I just want a table where I can add and delete codes, something like this, a CRUD table.

My current solution is this:  


Build a table (my_codes (id, code) )  
Create a CRUD for the table so someone can manually enter in new codes (one by one)  
Create a REST for the crud so these other systems can use these codes (codes/list, codes/add, codes/delete)  


However, the main site is in Drupal, and only certain users should be able to add codes.  

What is the simplest way to achieve this goal?
I could do all this work in a block, but I'd prefer to just install a Drupal module. If I can achive #1 and #2 with a module, then I should be able to do #3 myself. Note that last time I looked at CCK it did not have a "table" option.
The TableField or the Slickgrid modules may help here.