Support updating an existing spreadsheet

The existing spreadsheet serves as a base template for the new one. The builder can be used to fill new data on the workbook or replace existing data.

This commit also adds an `onRow` method for quick positioning of the "cursor".