本主题介绍使用 ReoGridEditor 创建模板电子表格并在 .NET 应用程序中通过 ReoGrid 控件显示的典型工作流程。

使用 Excel 文件作为模板

也可以使用 Microsoft Excel 来创建模板电子表格,而不是使用 ReoGridEditor。ReoGrid 同样支持显示 Excel 文件。详情请参阅 Excel 文件格式

使用 ReoGridEditor 制作模板电子表格

当您需要使用 ReoGrid 在 .NET 应用程序中显示电子表格时,以下步骤是推荐的实践方法: 100

  1. 使用 ReoGrid Editor 设计电子表格模板
  2. 保存为 XML
  3. 添加为项目资源
  4. 在 .NET 应用程序中加载
  5. 填充数据

1. 使用 ReoGrid Editor 设计模板

下载发布包并运行 ReoGridEditor.exe70

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

以下是完成后的模板示例: 71

2. 保存为 XML

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

输入文件名: 73

3. 添加为项目资源

  1. 打开 Visual Studio,创建新项目或打开现有项目。
  2. 添加对 ReoGrid 的引用(参见 安装)。
  3. 在项目属性窗口中切换到”Resource”选项卡。 74
  4. 将步骤 2 中保存的文件拖入资源列表: 75

结果: 76

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 方法从资源二进制流中读取模板电子表格的所有数据。运行应用程序后显示的窗体如下:

77

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");

运行程序: 79

预设单元格格式

可以在模板文件中预先指定单元格数据格式。

  1. 打开编辑器,右键单击目标单元格或区域,选择”Format Cells…” 80
  2. 选择”Format”选项卡,选择”DateTime”,然后选择”7/13/1980 12:00 AM”格式。 81
  3. 点击”OK”。
  4. 保存模板。5. 更新项目中的嵌入资源。6. 运行程序。单元格将按如下格式显示: 82

定义命名区域

一个好的实践是为区域定义一个名称。命名区域有助于标识数据应填充的位置。

  1. 在编辑器中选择电子表格上的一个区域: 101

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

  3. 输入”mydata”作为名称,然后点击”OK”。 104

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

  5. 保存此模板并刷新项目中的资源模板。

  6. 更新代码,使用命名区域来填充数据:

// 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" }
};

电子表格将显示如下:106

这篇文章对您有帮助吗?