本主题介绍使用 ReoGridEditor 创建模板电子表格并在 .NET 应用程序中通过 ReoGrid 控件显示的典型工作流程。
使用 Excel 文件作为模板
也可以使用 Microsoft Excel 来创建模板电子表格,而不是使用 ReoGridEditor。ReoGrid 同样支持显示 Excel 文件。详情请参阅 Excel 文件格式。
使用 ReoGridEditor 制作模板电子表格
当您需要使用 ReoGrid 在 .NET 应用程序中显示电子表格时,以下步骤是推荐的实践方法:

- 使用 ReoGrid Editor 设计电子表格模板
- 保存为 XML
- 添加为项目资源
- 在 .NET 应用程序中加载
- 填充数据
1. 使用 ReoGrid Editor 设计模板
下载发布包并运行 ReoGridEditor.exe。

使用此编辑器,您可以设计包含文本、边框、单元格样式、公式、合并单元格 和 打印设置 的电子表格模板。它通常用于为 ReoGrid 应用程序构建模板电子表格。
以下是完成后的模板示例:

2. 保存为 XML
选择菜单”File” -> “Save”或按工具栏上的”Save”按钮,将此电子表格保存为 ReoGrid XML 格式。

输入文件名:

3. 添加为项目资源
- 打开 Visual Studio,创建新项目或打开现有项目。
- 添加对 ReoGrid 的引用(参见 安装)。
- 在项目属性窗口中切换到”Resource”选项卡。

- 将步骤 2 中保存的文件拖入资源列表:

结果:

4. 加载模板文件
创建一个新的 Windows 窗体,并在其上放置一个 ReoGrid 实例。将 ReoGrid 控件实例重命名为”grid”,然后在 Form_Load 事件中编写以下代码:
using (var ms = new System.IO.MemoryStream(
ReoGridTester.Properties.Resources.template))
{
grid.Load(ms, IO.FileFormat.ReoGridFormat);
}
grid.Load 方法从资源二进制流中读取模板电子表格的所有数据。运行应用程序后显示的窗体如下:

5. 填充数据
继续在 Form_Load 事件中添加代码来填充数据:
// get first worksheet instance
var sheet = grid.CurrentWorksheet;
// fill records
sheet["B6"] = new object[,] {
{ "ReoGrid", "sample", "#103, Mars", "02/05/2014", "No" },
{ "User 1", "[email protected]", "-", "01/01/2014", "Yes" },
{ "Guest", "no-email", "Unknown", "01/01/2014", "Yes" }
};
// fill create time
sheet["E2"] = "Create Time: " + DateTime.Now.ToString("MM/dd/yyyy");
运行程序:

预设单元格格式
可以在模板文件中预先指定单元格数据格式。
- 打开编辑器,右键单击目标单元格或区域,选择”Format Cells…”

- 选择”Format”选项卡,选择”DateTime”,然后选择”7/13/1980 12:00 AM”格式。

- 点击”OK”。
- 保存模板。5. 更新项目中的嵌入资源。6. 运行程序。单元格将按如下格式显示:

定义命名区域
一个好的实践是为区域定义一个名称。命名区域有助于标识数据应填充的位置。
-
在编辑器中选择电子表格上的一个区域:

-
在选中状态下,选择菜单”Formula” -> “Define named range…”

-
输入”mydata”作为名称,然后点击”OK”。

-
该名称将显示在编辑器左上角的地址栏中。

-
保存此模板并刷新项目中的资源模板。
-
更新代码,使用命名区域来填充数据:
// filling data with named range
sheet["mydata"] = new object[,] {
{ "ReoGrid", "sample", "#103, Mars", "02/05/2014", "No" },
{ "User 1", "[email protected]", "-", "01/01/2014", "Yes" },
{ "Guest", "no-email", "Unknown", "01/01/2014", "Yes" }
};
电子表格将显示如下: