# dotNet.ReoGrid 扩展库 - 工作簿(Workbook)

概述
---------------------

一个工作簿可以包含多个工作表。![328](./images/328.png)

屏幕组件结构如下图所示。![215](./images/215.png)

控件即工作簿
------------------------------------------

ReoGrid 控件本身就是一个工作簿实例。

```aardio
var workbook = reoGridControl;
```

访问工作表
-------------------------------------

一个工作簿包含多个工作表，要访问当前活动的工作表，可以使用`CurrentWorksheet`属性。

```aardio
var sheet1 = reoGridControl.CurrentWorksheet;
```

要通过名称或索引访问特定工作表，使用`Worksheets`集合属性：

```aardio
var sheet1 = reoGridControl.Worksheets[1]; // aardio数组索引从1开始
var sheet2 = reoGridControl.Worksheets["Sheet2"];
```

要切换当前工作表，将`CurrentWorksheet`属性设置为另一个工作表实例。

```aardio
var anotherWorksheet = reoGridControl.Worksheets["sheet2"];
if (anotherWorksheet != null) {
    reoGridControl.CurrentWorksheet = anotherWorksheet;
}
```

注意：`CurrentWorksheet`属性不能设置为null。

工作表管理
---------------------------------------------

### 创建工作表

```aardio
// 创建工作表
var sheet1 = grid.CreateWorksheet();
// 创建带指定名称的工作表
var sheet1 = grid.CreateWorksheet('我的工作表');
```

如果未指定名称，ReoGrid会自动从当前工作簿中分配一个可用名称，如'Sheet1'、'Sheet2'等。

与Excel类似，ReoGrid不允许单个工作簿中存在同名的工作表。

### [添加/插入工作表](#添加插入工作表)

```aardio
// 调用方法
grid.AddWorksheet(sheet2);
grid.InsertWorksheet(2, sheet2); // 插入到第2个位置

// 使用工作表集合
grid.Worksheets.Add(sheet2);
grid.Worksheets.Insert(2, sheet2);
```

与Excel类似，一个工作簿可以包含多个工作表。可以通过位于控件底部的标签页控件来切换和显示不同的工作表。![217](./images/217.png)

要访问当前活动的工作表，使用`CurrentWorksheet`属性。

```aardio
var sheet1 = reoGridControl.CurrentWorksheet;
```

通过设置`CurrentWorksheet`属性