Begins with an 014 character, followed by sets of cell-definition macros for each row, followed by column-widths, column-printers, default-printer, and header-row. Then there’s the global parameters (file-format ID, numrows, numcols) and the local variables (specifying SES mode for the buffer, etc.).
When a SES file is loaded, first the numrows and numcols values are
loaded, then the entire data area is
evaled, and finally the local
variables are processed.
You can edit the data area, but don’t insert or delete any newlines except in the local-variables part, since SES locates things by counting newlines. Use C-x C-e at the end of a line to install your edits into the spreadsheet data structures (this does not update the print area, use, e.g., C-c C-l for that).
The data area is maintained as an image of spreadsheet data structures that area stored in buffer-local variables. If the data area gets messed up, you can try reconstructing the data area from the data structures: