static gboolean cb_set_export_option (const char *key, const char *value, GError **err, gpointer user) { Workbook *wb = user; GnmStfExport *stfe = gnm_stf_get_stfe (G_OBJECT (wb)); const char *errtxt; if (strcmp (key, "sheet") == 0) { Sheet *sheet = workbook_sheet_by_name (wb, value); if (!sheet) { errtxt = _("There is no such sheet"); goto error; } gnm_stf_export_options_sheet_list_add (stfe, sheet); return FALSE; } if (strcmp (key, "eol") == 0) { const char *eol; if (g_ascii_strcasecmp ("unix", value) == 0) eol = "\n"; else if (g_ascii_strcasecmp ("mac", value) == 0) eol = "\r"; else if (g_ascii_strcasecmp ("windows", value) == 0) eol = "\r\n"; else { errtxt = _("eol must be one of unix, mac, and windows"); goto error; } g_object_set (G_OBJECT (stfe), "eol", eol, NULL); return FALSE; } if (strcmp (key, "charset") == 0 || strcmp (key, "locale") == 0 || strcmp (key, "quote") == 0 || strcmp (key, "separator") == 0 || strcmp (key, "format") == 0 || strcmp (key, "transliterate-mode") == 0 || strcmp (key, "quoting-mode") == 0 || strcmp (key, "quoting-on-whitespace") == 0) return go_object_set_property (G_OBJECT (stfe), key, key, value, err, (_("Invalid value for option %s: \"%s\""))); errtxt = _("Invalid option for stf exporter"); error: if (err) *err = g_error_new (go_error_invalid (), 0, "%s", errtxt); return TRUE; }
static Sheet * html_get_sheet (char const *name, Workbook *wb) { Sheet *sheet = NULL; if (name) { sheet = workbook_sheet_by_name (wb, name); if (sheet == NULL) { sheet = sheet_new (wb, name, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS); workbook_sheet_attach (wb, sheet); } } else sheet = workbook_sheet_add (wb, -1, GNM_DEFAULT_COLS, GNM_DEFAULT_ROWS); return sheet; }
/** Get a reference to a particular sheet in a Gnumeric workbook, identifying it either by index or by name. If an integer is specified, this should be 1-based (rather than 0-based). */ USER_OBJECT_ RGnumeric_sheetInWorkbook(USER_OBJECT_ workbookRef, USER_OBJECT_ index) { Workbook *workbook; USER_OBJECT_ ans = NULL_USER_OBJECT; Sheet *sheet; workbook = RGnumeric_resolveWorkbookReference(workbookRef); if(IS_INTEGER(index)) sheet = workbook_sheet_by_index(workbook, INTEGER_DATA(index)[0] - 1); else { sheet = workbook_sheet_by_name(workbook, CHAR_DEREF(STRING_ELT(index, 0))); } if(sheet) ans = RGnumeric_sheetReference(sheet); return(ans); }
GnumericSheetPtr gnumeric_get_sheet_by_name(GnumericWorkbookPtr workbook, const char *name) { WorkbookView *wbv = (WorkbookView *)workbook; Sheet *sheet = workbook_sheet_by_name (wb_view_get_workbook (wbv), name); return (GnumericSheetPtr*)sheet; }