/** * ms-excel.h: MS Excel support for Gnumeric * * Author: * Michael Meeks (michael@imaginator.com) **/ #ifndef GNUMERIC_MS_EXCEL_H #define GNUMERIC_MS_EXCEL_H #include "ms-ole.h" #include "ms-biff.h" #include "ms-excel-biff.h" extern Workbook *ms_excelReadWorkbook(MS_OLE *file) ; typedef struct _BIFF_BOUNDSHEET_DATA { guint16 index ; guint32 streamStartPos ; eBiff_filetype type ; eBiff_hidden hidden ; char *name ; } BIFF_BOUNDSHEET_DATA ; typedef struct _MS_EXCEL_SHEET { int index ; int blank ; Sheet *gnum_sheet ; struct _MS_EXCEL_WORKBOOK *wb ; eBiff_version ver ; GList *array_formulae ; } MS_EXCEL_SHEET ; extern void ms_excel_sheet_insert (MS_EXCEL_SHEET *sheet, int xfidx, int col, int row, char *text) ; extern void ms_excel_set_cell_xf(MS_EXCEL_SHEET *sheet, Cell *cell, guint16 xfidx) ; typedef struct _MS_EXCEL_PALETTE { int *red ; int *green ; int *blue ; int length ; StyleColor **gnum_cols ; } MS_EXCEL_PALETTE ; typedef struct _BIFF_FONT_DATA { guint16 index ; int height ; /* in 1/20ths of a point */ int italic ; /* boolean */ int struck_out ; /* boolean : strikethrough */ int color_idx ; int boldness ; /* 100->1000 dec, normal = 0x190, bold = 0x2bc */ int script ; /* sub = -1, none = 0, super = 1 */ eBiffFontUnderline underline ; char *fontname ; StyleFont *style_font ; } BIFF_FONT_DATA ; typedef struct _BIFF_EXTERNSHEET_DATA { guint16 sup_idx ; guint16 first_tab ; guint16 last_tab ; } BIFF_EXTERNSHEET_DATA ; typedef struct _BIFF_FORMAT_DATA { guint16 idx ; char *name ; } BIFF_FORMAT_DATA ; typedef struct _MS_EXCEL_WORKBOOK { GHashTable *boundsheet_data_by_stream ; GHashTable *boundsheet_data_by_index ; GHashTable *XF_cell_records ; GHashTable *XF_style_records ; GHashTable *font_data ; GHashTable *format_data ; GList *excel_sheets ; BIFF_EXTERNSHEET_DATA *extern_sheets ; guint16 num_extern_sheets ; MS_EXCEL_PALETTE *palette ; char **global_strings; int global_string_max; /** * Gnumeric parallel workbook **/ Workbook *gnum_wb ; } MS_EXCEL_WORKBOOK ; extern char* biff_get_externsheet_name (MS_EXCEL_WORKBOOK *wb, guint16 idx, gboolean get_first) ; extern char* biff_get_text (BYTE *ptr, int length) ; extern char* biff_get_error_text (guint8 err) ; #endif