# Workbook API 参考

## 概述

Workbook API 提供管理 Excel 工作簿的函数，包括日期系统设置、计算模式、工作表管理、命名样式和定义名称等功能。

## Workbook 属性

int wb_is_date1904(WorkbookHandle book)

  检查工作簿是否使用 1904 日期系统。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    使用 1904 日期系统返回 1，否则返回 0。

void wb_set_date1904(WorkbookHandle book, int set)

  设置工作簿使用 1904 日期系统。

  参数:

    - book -- 工作簿实例的句柄。

    - set -- 1 启用 1904 日期系统，0 禁用。

int wb_is_a1_ref_mode(WorkbookHandle book)

  检查工作簿是否使用 A1 引用样式。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    使用 A1 引用样式返回 1，否则返回 0。

void wb_set_a1_ref_mode(WorkbookHandle book, int mode)

  设置工作簿的引用样式。

  参数:

    - book -- 工作簿实例的句柄。

    - mode -- 1 使用 A1 引用样式，0 使用 R1C1 样式。

int wb_get_calc_mode(WorkbookHandle book)

  获取计算模式。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    计算模式(参见 `CalcTypeEnum`)。

void wb_set_calc_mode(WorkbookHandle book, int type)

  设置计算模式。

  参数:

    - book -- 工作簿实例的句柄。

    - type -- 计算类型(参见 `CalcTypeEnum`)。

## 工作表管理

WorksheetHandle wb_add_worksheet(WorkbookHandle book, const char *name)

  向工作簿添加新工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - name -- 新工作表的名称。

  返回:

    创建的工作表句柄。

WorksheetHandle wb_insert_worksheet(WorkbookHandle book, int index, const char *name)

  在指定位置插入工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 插入工作表的位置。

    - name -- 新工作表的名称。

  返回:

    创建的工作表句柄。

void wb_shift_sheet(WorkbookHandle book, int srcIndex, int dstIndex)

  移动工作表到不同位置。

  参数:

    - book -- 工作簿实例的句柄。

    - srcIndex -- 工作表原位置索引。

    - dstIndex -- 工作表新位置索引。

void wb_delete_sheet(WorkbookHandle book, int index)

  从工作簿中删除工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 要删除的工作表索引。

int wb_sheet_count(WorkbookHandle book)

  获取工作簿中的工作表数量。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    工作表数量。

WorksheetHandle wb_get_sheet(WorkbookHandle book, int index)

  通过索引获取工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

  返回:

    工作表句柄。

int wb_sheet_type(WorkbookHandle book, int index)

  获取工作表的类型。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

  返回:

    工作表类型(参见 `SheetTypeEnum`)。

int wb_get_sheet_state(WorkbookHandle book, int index)

  获取工作表的可见性状态。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

  返回:

    工作表状态(参见 `SheetStateEnum`)。

void wb_set_sheet_state(WorkbookHandle book, int index, int state)

  设置工作表的可见性状态。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

    - state -- 工作表状态(参见 `SheetStateEnum`)。

const char *wb_sheet_name(WorkbookHandle book, int index)

  获取工作表的名称。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

  返回:

    工作表名称。

void wb_rename_sheet(WorkbookHandle book, int index, const char *newname)

  重命名工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 工作表索引。

    - newname -- 工作表的新名称。

int wb_get_active_sheet(WorkbookHandle book)

  获取活动工作表的索引。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    活动工作表的索引。

int wb_set_active_sheet(WorkbookHandle book, int tab)

  设置活动工作表。

  参数:

    - book -- 工作簿实例的句柄。

    - tab -- 要激活的工作表索引。

  返回:

    成功返回 1，失败返回 0。

## 定义名称

int wb_set_defined_name(WorkbookHandle book, const char *name, const char *expr, const char *local_name)

  在工作簿中设置定义名称。

  参数:

    - book -- 工作簿实例的句柄。

    - name -- 要定义的名称。

    - expr -- 公式表达式。

    - local_name -- 本地工作表名称(可选)。

  返回:

    成功返回 1，失败返回 0。

int defined_name_num(WorkbookHandle book)

  在工作簿中设置定义名称。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    定义名称的索引。

const char *ws_get_defined_name(WorkbookHandle book, int index, int *is_local = 0)

  获取定义名称。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 定义名称的索引。

    - is_local -- 是否为局部定义名称。

  返回:

    定义名称。

const char *ws_get_local_name(WorkbookHandle book, int index)

  获取定义名称所属的工作表的名称

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 定义名称的索引。

  返回:

    工作表名称。

const char *ws_get_defined_name_expr(WorkbookHandle book, int index)

  获取定义名称的表达式。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 定义名称的索引。

  返回:

    表达式字符串

void ws_delete_defined_name(WorkbookHandle book, int index)

  删除定义名称。

  参数:

    - book -- 工作簿实例的句柄。

    - index -- 定义名称的索引。

## 样式管理

StyleHandle wb_get_named_style(WorkbookHandle book, const char *name)

  从工作簿获取命名样式。

  参数:

    - book -- 工作簿实例的句柄。

    - name -- 要修改的样式名称(内置样式名称参见 内置单元格样式:)。

  返回:

    样式句柄。

StyleHandle wb_add_custom_style(WorkbookHandle book, const char *name, StyleHandle style)

  向工作簿添加自定义命名样式。

  参数:

    - book -- 工作簿实例的句柄。

    - name -- 自定义样式名称。

    - style -- 要添加的样式句柄。

  返回:

    添加的样式句柄。

int wb_modify_named_style(WorkbookHandle book, const char *name, StyleHandle style)

  修改现有的命名样式。

  参数:

    - book -- 工作簿实例的句柄。

    - name -- 要修改的样式名称(内置样式名称参见 内置单元格样式:)。

    - style -- 新的样式属性。

  返回:

    成功返回 1，失败返回 0。

StyleHandle wb_make_normal_style(WorkbookHandle book)

  为工作簿创建普通样式。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    创建的普通样式句柄。

## 富文本

RichtextHandle wb_make_richtext(WorkbookHandle book)

  创建富文本对象。

  参数:

    - book -- 工作簿实例的句柄。

  返回:

    创建的富文本对象句柄。

## 枚举类型

相关枚举类型的定义请参考 枚举类型

Styled using the Piccolo Theme