ReoGridEditor 是一个开源项目,提供类似 Microsoft Excel 的用户界面用于创建或编辑电子表格。ReoGridEditor 使用 ReoGrid 电子表格组件的扩展版本。
以下是 ReoGridEditor 主窗口的外观:

下载发布包,解压名为"ReoGrid-版本号-Demo-Binary"的文件夹

双击执行"unvell.ReoGridEditor.exe"文件,将显示 ReoGridEditor 主窗口
下载发布包,解压名为"ReoGrid-版本号-Demo-Editor-Source.zip"的压缩文件
要构建 ReoGridEditor,请执行以下步骤:

使用菜单中的"打开"和"保存"功能来操作文件

ReoGridEditor 使用 ReoGrid 来打开和保存文件。支持以下格式:
| 格式 | 加载 | 保存 | 导入 | 导出 |
|---|---|---|---|---|
| Excel 2007 (Open Office XML) | 是 | 是 | ||
| RGF (ReoGrid 格式) | 是 | 是 | 是 | 是 |
| CSV | 是 | 是 | ||
| HTML | 是 |
表格定义:
ReoGrid Editor 还提供了命名范围管理窗口,便于查看和修改现有的命名范围:
访问命名范围窗口:要打开命名范围管理窗口,通过 ReoGrid Editor 菜单选择"公式"→"命名范围"。这将显示一个窗口,列出当前工作表中所有已定义的命名范围。
编辑和删除:在命名范围管理窗口中,用户可以编辑与命名范围关联的单元格范围,或删除不再需要的命名范围。这个集中管理工具确保命名范围保持相关性并准确反映工作表数据。
命名范围是 ReoGrid Editor 中的一个强大功能,允许创建更易读的公式和更简单的数据引用。通过使用地址栏定义命名范围和使用命名范围管理窗口进行持续维护,用户可以显著增强数据组织和公式创建工作流程。
ReoGridEditor 在开源许可下提供了许多用户控件,如字体选择框、颜色选择器、边框编辑器、旋转角度编辑器等。这些 UI 控件可以免费用于其他应用程序。
// 导入 ReoGrid 控件库
import dotNet.ReoGrid;
// 创建窗体
import win.ui;
var winform = win.form(text="ReoGrid 电子表格编辑器";right=800;bottom=600)
// 创建 ReoGrid 控件
var grid = ReoGrid.ReoGridControl(winform);
// 获取当前工作表
var sheet1 = grid.CurrentWorksheet;
// 设置单元格数据 - 使用 A1 表示法
sheet1["A1"] = "产品名称";
sheet1["B1"] = "单价";
sheet1["C1"] = "数量";
// 批量填充数据
sheet1["A2:C4"] = [
["产品A", 100, 5],
["产品B", 200, 3],
["产品C", 150, 2]
];
// 设置单元格样式
var headerStyle = sheet1.Ranges["A1:C1"].Style;
headerStyle.BackColor = ReoGrid.Graphics.SolidColor.SteelBlue;
headerStyle.TextColor = ReoGrid.Graphics.SolidColor.White;
// 添加公式计算总价
sheet1["D1"] = "总价";
for(i=2;4;1){
sheet1["D"+i] = "=B"+i+"*C"+i;
}
// 添加命名范围
grid.Workbook.DefineNamedRange("Products", sheet1.Name, "A2:A4");
grid.Workbook.DefineNamedRange("Prices", sheet1.Name, "B2:B4");
// 保存文件功能
winform.add(
menu={cls="menu";
items={
{text="文件";items={
{text="打开";oncommand=function(){
var path = fsys.dlg.open("Excel文件|*.xlsx;*.xls|ReoGrid文件|*.rgf|所有文件|*.*");
if(path) grid.Load(path);
}};
{text="保存";oncommand=function(){
var path = fsys.dlg.save("Excel文件|*.xlsx|ReoGrid文件|*.rgf");
if(path) grid.Save(path);
}};
}}
}
}
);
// 显示窗体
winform.show();
win.loopMessage();
dotNet.ReoGrid 库,这是使用 ReoGrid 控件的基础ReoGridControl 创建表格控件并嵌入到窗体中CurrentWorksheet 获取当前活动的工作表对象sheet1["A1"] = "值"Range.Style 属性实现Workbook.DefineNamedRange 方法实现这个示例展示了如何在 aardio 中实现一个基本的电子表格编辑器,包含了 ReoGridEditor 的主要功能。