# dotNet.ReoGrid 扩展库 - 单元格类型

ReoGrid 提供了多种单元格类型用于在电子表格中显示。通过使用这些单元格类型，可以在工作表中实现各种输入和输出功能。此外，创建自定义扩展单元格类型也非常简单。

## 内置单元格类型

ReoGrid 提供以下单元格类型：

![](/document/images/ja/ja44.png)  
**按钮单元格**

![](/document/images/ja/ja46.png)  
**复选框单元格**

![](/document/images/ja/ja47.png)  
**单选按钮单元格**

![](/document/images/ja/ja45.png)  
**超链接单元格**

![](/document/images/ja/ja48.png)  
**下拉列表单元格**

![](/document/images/ja/ja53h.png)  
**下拉日期选择器单元格**

![](/document/images/ja/ja49.png)  
**图像单元格**

![](/document/images/ja/ja52.png)  
**图像按钮单元格**

![](/document/images/ja/ja50.png)  
**百分比进度条单元格**

![](/document/images/ja/ja51.png)  
**负百分比进度条单元格**

更多详情请参阅：[内置单元格类型](../cell/built-in-cell-types.html)

## 自定义单元格类型

ReoGrid 提供了便捷的接口用于创建自定义单元格类型。通过指定一个继承自 `CellBody` 的类，可以在单元格中显示该自定义类型。此外，还可以轻松实现编辑事件、鼠标和键盘控制等功能。

更多详情请参阅：[自定义单元格类型](../cell/custom-cell.html)

## aardio 代码示例

```aardio
// 导入 ReoGrid 库
import dotNet.ReoGrid;

// 创建按钮单元格
var buttonCell = ReoGrid.CellTypes.ButtonCell("点击我");

// 创建复选框单元格
var checkboxCell = ReoGrid.CellTypes.CheckBoxCell();

// 创建单选按钮单元格 
var radioCell = ReoGrid.CellTypes.RadioButtonCe();

// 创建超链接单元格
var hyperlinkCell = ReoGrid.CellTypes.HyperlinkCell("https://www.aardio.com");

// 创建下拉列表单元格
var dropdownCell = ReoGrid.CellTypes.DropdownListCell(["选项1","选项2","选项3"]);

/*
System 是 dotNet 库默认已导入的，
不过 aardio 标准库中 System.Drawing 修改了 System.Drawing.Image.FromFile 这个函数可以自动转换为完整路径
*/
import System.Drawing;
var imgPath = io.fullpath("~\images\test.png"); //这里可省略
var img = System.Drawing.Image.FromFile(imgPath);; // 加载图像文件
var imageCell = ReoGrid.CellTypes.ImageCell(img); //创建图像单元格，可在 ReoGrid 表格中显示图像（ 关键词: 图像 图片 图标 图标按钮 picture picturebox image ）

// 创建进度条单元格
var progressCell = ReoGrid.CellTypes.ProgressCell();

// 将单元格添加到工作表
var sheet1 = grid.CurrentWorksheet;
sheet1["A1"] = buttonCell;
sheet1["A2"] = checkboxCell; 
sheet1["A3"] = radioCell;
sheet1["A4"] = hyperlinkCell;
sheet1["A5"] = dropdownCell;
sheet1["A6"] = imageCell;
sheet1["A7"] = progressCell;
```

> **说明**：在 aardio 中，所有单元格类型都通过 `ReoGrid.CellTypes` 名字空间创建，使用方式与 C# 版本基本一致，但语法更简洁。