Org comes with a fast and intuitive table editor. Spreadsheet-like calculations are supported in connection with the Emacs calc package (see the Emacs Calculator manual for more information about the Emacs calculator).
Org makes it easy to format tables in plain ASCII. Any line with ‘|’ as the first non-whitespace character is considered part of a table. ‘|’ is also the column separator. A table might look like this:
| Name | Phone | Age |
|-------+-------+-----|
| Peter | 1234 | 17 |
| Anna | 4321 | 25 |
A table is re-aligned automatically each time you press <TAB> or <RET> or C-c C-c inside the table. <TAB> also moves to the next field (<RET> to the next row) and creates new table rows at the end of the table or before horizontal lines. The indentation of the table is set by the first line. Any line starting with ‘|-’ is considered as a horizontal separator line and will be expanded on the next re-align to span the whole table width. So, to create the above table, you would only type
|Name|Phone|Age|
|-
and then press <TAB> to align the table and start filling in
fields. Even faster would be to type |Name|Phone|Age followed by
C-c <RET>.
When typing text into a field, Org treats <DEL>, <Backspace>, and all character keys in a special way, so that inserting and deleting avoids shifting other fields. Also, when typing immediately after the cursor was moved into a new field with <TAB>, S-<TAB> or <RET>, the field is automatically made blank.
Further reading
Chapter 3 of the manual
Bastien's table tutorial
Bastien's spreadsheet tutorial
Eric's plotting tutorial