刚刚接触Mendix低代码两周,花了一周在b站看初级视频然后考完初级,第二周开始做个列表查询感觉照葫芦画瓢没啥难度。但最近要求写个导出列表数据,在mendix社区翻了翻,这个功能算是常见的。找了mendix官方提供的Docs磕磕盼盼才实现了这个功能,实现后倒也不难,就是刚探索的时候遇到一些奇怪报错无从下手。可能是版本问题导致,后来重新建立新项目单独做这个导出功能搭配着官方文档一步步实现两天愁眉苦脸终于喜笑颜开~~
下面记录下这个功能的具体实现过程:
- 打开BBScloud用户社区 这个链接跳转到Mendix Excel导出介绍文档界面
- 在Marketplace里面下载框中的两个模块
- 添加导航项一个用于excel模版配置,另一个则是用于刷新模版数据
- 创建一个用户界面,界面有一个new按钮用于创建列表数据,还有一个export导出按钮,用于导出列表数据
- 进入excel模版配置界面,配置excel
- 给export按钮绑定微流事件
- 点击export按钮自动实现下载excel文件到本地
一、进入Marketplace下载两个模块(Mx Model Reflection、Excel Exporter)
1.打开mendix软件,找到购物车然后搜索下载Mx Model Reflection
2.下载成功后在App文件夹下面的Marketplace modules里面找到, 如下图所示:
3.同理Excel exporter下载完成后,在App文件夹下面的XLSReport,如下图所示:
二、添加导航项
- 一个指向MxModelReflection页面
- 一个指向Excel Exporter页面
3.至于两个导航项的权限设置,按照你的项目来。我现在新建的项目关闭了security
4.运行下项目,当前菜单有3个,如下图所示:
三、配置Excel模版
1.点击Mx进入模块界面,选择不同的模块点击click to refresh,运行MxModelReflection 同步
2.点击Export Excel进入创建Excel导出模版界面,如下图所示:
当前已经创建了一条模版数据为first,刚开始是空列表,需要点击New按钮创建
接下来创建一条second模版:
这个时候我们看到input object需要选择实体,这时候需要先去领域模型那边创建对象实体,当前实体为Log,给了5个属性,然后又关联了一个logdoc导出实体,它是FileDocument的继承。
点开两个实体的内容如下图所示:
实体创建完成后再回到刚刚所说的创建Excel模版界面,选择Input object选择导出实体
输入文件名称后点击save and next按钮,关闭弹框,进入到配置第二页面
日期时间格式选择自定义
接下来创建worksheets,如下图所示:
输入name为sheets2,选择row obj为log,连带出来Refercence to template input object,如下图所示:
再创建column data,点击New,列数从0开始,Name填写和属性一致的名称,再选择属性,如下图所示:
当前先添加一列邮箱信息,如下图所示:
关闭弹框后,查看界面有当前一条列名数据,点击save保存模版内容,点击完页面的save后,回到模版入口列表查看多了一条second模版,如下图所示:
四、实现Export导出,进入homePage创建一个log表格,展示log列表
- 在home界面引入Data grid2控件,绑定log实体,展示实体对应的属性字段,新建一个New按钮,创建列表数据。再拖一个button按钮用于导出,这个就不多描述了,相信大家看了西蒙老师的课都知道咋做了。。。
2.给export按钮绑定一个微流事件,重点来了!!进入ACT_Export这个微流,开始实现导出功能
结合官方文档的7、8两章,合并使用如下所示:
下面是每一步的截图
五、运行项目,访问页面,点击export测试导出功能
点击Export下载一个文件名叫second,和模版名称一致。之前在模版内创建的sheets2里面只加了一列邮箱,打开second.xls当前有一列邮箱信息展示如下:
以上就是Mendix export导出功能,经过2天尝试踩坑成功,查看了一些文档和社区提问好像没有我记录的这么详细,哈哈哈哈~~~希望能帮助到新手,小白路上越挫越勇,加油!