+struct casereader * spreadsheet_make_reader (struct spreadsheet *, const struct spreadsheet_read_options *);
+
+const char * spreadsheet_get_sheet_name (struct spreadsheet *s, int n) OPTIMIZE(2);
+char * spreadsheet_get_sheet_range (struct spreadsheet *s, int n) OPTIMIZE(2);
+int spreadsheet_get_sheet_n_sheets (struct spreadsheet *s) OPTIMIZE(2);
+unsigned int spreadsheet_get_sheet_n_rows (struct spreadsheet *s, int n) OPTIMIZE(2);
+unsigned int spreadsheet_get_sheet_n_columns (struct spreadsheet *s, int n) OPTIMIZE(2);
+
+char * spreadsheet_get_cell (struct spreadsheet *s, int n, int row, int column);
+
+char * create_cell_ref (int col0, int row0);
+char *create_cell_range (int col0, int row0, int coli, int rowi);
+
+struct spreadsheet * spreadsheet_ref (struct spreadsheet *s) WARN_UNUSED_RESULT;
+void spreadsheet_unref (struct spreadsheet *);