Workbook Interface
The Workbook interface represents the main workbook object that manages worksheets, styles, and workbook-level settings.
Classes
-
class oo::iWorkbook
Main workbook interface for managing worksheets, shared strings, styles, and workbook properties.
Date and Reference Settings
-
bool is_date1904() const
Check if the workbook uses the 1904 date system.
- Returns:
true if using 1904 date system, false for 1900 date system
-
void set_date1904(bool set = true)
Set the date system used by the workbook.
- Parameters:
set – true for 1904 date system, false for 1900 date system
-
bool is_a1_ref_mode() const
Check if the workbook uses A1 reference mode.
- Returns:
true if using A1 reference mode, false for R1C1 mode
-
void set_a1_ref_mode(bool a1_mode = true)
Set the reference mode for the workbook.
- Parameters:
a1_mode – true for A1 reference mode, false for R1C1 mode
Calculation Settings
-
CalcTypeEnum get_calc_mode() const
Get the calculation mode for the workbook.
- Returns:
Current calculation mode
-
void set_calc_mode(CalcTypeEnum type)
Set the calculation mode for the workbook.
- Parameters:
type – Calculation mode to set
Worksheet Management
-
iWorksheet *add_worksheet(const char *name = nullptr)
Add a new worksheet to the workbook.
- Parameters:
name – Optional name for the new worksheet (Automatically generate worksheet name when name is empty)
- Returns:
Pointer to the new worksheet, or nullptr if failed
-
iWorksheet *insert_worksheet(int index, const char *name = nullptr)
Insert a worksheet at the specified position.
- Parameters:
index – Position to insert the worksheet (0-based)
name – Optional name for the new worksheet
- Returns:
Pointer to the new worksheet, or nullptr if failed
-
void shift_sheet(int srcIdx, int dstIdx)
Move a worksheet from one position to another.
- Parameters:
srcIdx – Source index (0-based)
dstIdx – Destination index (0-based)
-
void delete_sheet(int index)
Delete a worksheet from the workbook.
- Parameters:
index – Index of worksheet to delete (0-based)
Worksheet Information
-
int sheet_count() const
Get the number of worksheets in the workbook.
- Returns:
Number of worksheets
-
iWorksheet *get_sheet(int index) const
Get a worksheet by index.
- Parameters:
index – Worksheet index (0-based)
- Returns:
Pointer to worksheet, or nullptr if index is invalid
-
SheetTypeEnum sheet_type(int index) const
Get the type of a worksheet.
- Parameters:
index – Worksheet index (0-based)
- Returns:
Type of the worksheet
-
SheetStateEnum get_sheet_state(int index) const
Get the visibility state of a worksheet.
- Parameters:
index – Worksheet index (0-based)
- Returns:
Visibility state of the worksheet
-
void set_sheet_state(int index, SheetStateEnum state = SHEETSTATE_HIDDEN)
Set the visibility state of a worksheet.
- Parameters:
index – Worksheet index (0-based)
state – New visibility state
Worksheet Naming
-
const char *sheet_name(int index) const
Get the name of a worksheet.
- Parameters:
index – Worksheet index (0-based)
- Returns:
Name of the worksheet
-
void rename_sheet(int index, const char *newname)
Rename a worksheet.
- Parameters:
index – Worksheet index (0-based)
newname – New name for the worksheet
Active Sheet Management
-
int get_active_sheet() const
Get the index of the active worksheet.
- Returns:
Index of active worksheet (0-based)
-
bool set_active_sheet(int tab)
Set the active worksheet.
- Parameters:
tab – Worksheet index to activate (0-based)
- Returns:
true if successful, false if index is invalid
Defined Names
-
bool set_defined_name(const char *name, const char *expr, const char *local_name = nullptr)
Set a defined name in the workbook.
- Parameters:
name – Name to define
expr – Formula expression for the defined name
local_name – Local sheet name (optional)
- Returns:
true if successful
-
int defined_name_num()
Get number of defined names in the workbook.
- Returns:
Number of defined names.
-
const char *get_defined_name(int index, bool *is_local = 0) const
Get the defined name.
- Parameters:
index – Index of defined names.
is_local – Is it a locally defined name.
- Returns:
Defined name.
-
const char *get_local_name(int index) const
Retrieve the worksheet name to which the defined name belongs.
- Parameters:
index – Index of defined names.
- Returns:
Worksheet name.
-
const char *get_defined_name_expr(int index) const
Get the expression for a defined name.
- Parameters:
index – Index of defined names.
- Returns:
Expression string.
-
void delete_defined_name(int index)
Delete a defined name.
- Parameters:
index – Index of defined names.
Style Management
-
iStyle *get_named_style(const char *name)
Get a named style from the workbook.
- Parameters:
name – Name of the style to retrieve
- Returns:
Pointer to the style, or nullptr if not found
Style object Creation
-
bool is_date1904() const
Usage Example
#include "oosxl.hxx"
using namespace oo;
// Create document and get workbook
Document* doc = create_document();
Workbook* wb = doc->get_workbook();
// Set workbook properties
wb->set_date1904(false); // Use 1900 date system
wb->set_a1_ref_mode(true); // Use A1 reference mode
// Add worksheets
Worksheet* sheet1 = wb->add_worksheet("Data");
Worksheet* sheet2 = wb->add_worksheet("Summary");
// Set active sheet
wb->set_active_sheet(0);
// Create and use styles
Style* header_style = wb->make_normal_style();
header_style->set_bold(true);
header_style->set_font_size(14);