The main advantages of web-based Spreadsheets over file-based ones are their easy access (you dont need to have a special Program and access to a physical Drive/Folder) and the better control of the data on the server-side (like savepoints, locking, notifications etc.).
However, the flexibility of Spreadsheets means a loss of Control (or a huge Overhead) if you want to extract data or link data across the "File-Border" because it is nearly impossible to check and fix changes like the insertion of rows or columns (of course this problem occurs in file-based Spreadsheets too).
One possibility to solve this is to bind a "globally unique identifier" (
http://en.wikipedia.org/wiki/Globally_unique_identifier ) to every (newely created) Cell and Spreadsheet and of course to save this in the JSON/DB as well. It is relatively easy to create such GUID in Javascript (for examle:
http://stackoverflow.com/a/2117523 ) and would probably also speedup things in big tables if the cell-lookup would use "getElementById".
Of course the Format of a GUID (
eg. 3F2504E0-4F89-11D3-9A0C-0305E82C3301 ) could also be adapted to hold Informations like the "Path" (FILE-SPREADSHEET-CELL) but probably this corrupts the idea of GUIDs.
what do you think?
Chris