Mendix如何实现导出文件

       刚刚接触Mendix低代码两周,花了一周在b站看初级视频然后考完初级,第二周开始做个列表查询感觉照葫芦画瓢没啥难度。但最近要求写个导出列表数据,在mendix社区翻了翻,这个功能算是常见的。找了mendix官方提供的Docs磕磕盼盼才实现了这个功能,实现后倒也不难,就是刚探索的时候遇到一些奇怪报错无从下手。可能是版本问题导致,后来重新建立新项目单独做这个导出功能搭配着官方文档一步步实现两天愁眉苦脸终于喜笑颜开~~

下面记录下这个功能的具体实现过程:

  1. 打开BBScloud用户社区 这个链接跳转到Mendix Excel导出介绍文档界面
  2. 在Marketplace里面下载框中的两个模块
  3. 添加导航项一个用于excel模版配置,另一个则是用于刷新模版数据
  4. 创建一个用户界面,界面有一个new按钮用于创建列表数据,还有一个export导出按钮,用于导出列表数据
  5. 进入excel模版配置界面,配置excel
  6. 给export按钮绑定微流事件
  7. 点击export按钮自动实现下载excel文件到本地

一、进入Marketplace下载两个模块(Mx Model Reflection、Excel Exporter)

Mendix如何实现导出文件_第1张图片

1.打开mendix软件,找到购物车然后搜索下载Mx Model Reflection

Mendix如何实现导出文件_第2张图片

Mendix如何实现导出文件_第3张图片Mendix如何实现导出文件_第4张图片

2.下载成功后在App文件夹下面的Marketplace modules里面找到, 如下图所示:

Mendix如何实现导出文件_第5张图片Mendix如何实现导出文件_第6张图片

3.同理Excel exporter下载完成后,在App文件夹下面的XLSReport,如下图所示:

Mendix如何实现导出文件_第7张图片

二、添加导航项

  1. 一个指向MxModelReflection页面Mendix如何实现导出文件_第8张图片

Mendix如何实现导出文件_第9张图片

  1. 一个指向Excel Exporter页面Mendix如何实现导出文件_第10张图片

Mendix如何实现导出文件_第11张图片

Mendix如何实现导出文件_第12张图片

3.至于两个导航项的权限设置,按照你的项目来。我现在新建的项目关闭了securityMendix如何实现导出文件_第13张图片

4.运行下项目,当前菜单有3个,如下图所示:

Mendix如何实现导出文件_第14张图片

三、配置Excel模版

1.点击Mx进入模块界面,选择不同的模块点击click to refresh,运行MxModelReflection 同步

Mendix如何实现导出文件_第15张图片

2.点击Export Excel进入创建Excel导出模版界面,如下图所示:

当前已经创建了一条模版数据为first,刚开始是空列表,需要点击New按钮创建

Mendix如何实现导出文件_第16张图片

接下来创建一条second模版:

Mendix如何实现导出文件_第17张图片Mendix如何实现导出文件_第18张图片

这个时候我们看到input object需要选择实体,这时候需要先去领域模型那边创建对象实体,当前实体为Log,给了5个属性,然后又关联了一个logdoc导出实体,它是FileDocument的继承。

Mendix如何实现导出文件_第19张图片Mendix如何实现导出文件_第20张图片

点开两个实体的内容如下图所示:Mendix如何实现导出文件_第21张图片

Mendix如何实现导出文件_第22张图片

实体创建完成后再回到刚刚所说的创建Excel模版界面,选择Input object选择导出实体

Mendix如何实现导出文件_第23张图片

输入文件名称后点击save and next按钮,关闭弹框,进入到配置第二页面

Mendix如何实现导出文件_第24张图片

Mendix如何实现导出文件_第25张图片

日期时间格式选择自定义

Mendix如何实现导出文件_第26张图片

Mendix如何实现导出文件_第27张图片

接下来创建worksheets,如下图所示:

Mendix如何实现导出文件_第28张图片

Mendix如何实现导出文件_第29张图片

输入name为sheets2,选择row obj为log,连带出来Refercence to template input object,如下图所示:

Mendix如何实现导出文件_第30张图片

Mendix如何实现导出文件_第31张图片

再创建column data,点击New,列数从0开始,Name填写和属性一致的名称,再选择属性,如下图所示:

当前先添加一列邮箱信息,如下图所示:

Mendix如何实现导出文件_第32张图片

Mendix如何实现导出文件_第33张图片Mendix如何实现导出文件_第34张图片

关闭弹框后,查看界面有当前一条列名数据,点击save保存模版内容,点击完页面的save后,回到模版入口列表查看多了一条second模版,如下图所示:

Mendix如何实现导出文件_第35张图片

Mendix如何实现导出文件_第36张图片

四、实现Export导出,进入homePage创建一个log表格,展示log列表

  1. 在home界面引入Data grid2控件,绑定log实体,展示实体对应的属性字段,新建一个New按钮,创建列表数据。再拖一个button按钮用于导出,这个就不多描述了,相信大家看了西蒙老师的课都知道咋做了。。。

Mendix如何实现导出文件_第37张图片

2.给export按钮绑定一个微流事件,重点来了!!进入ACT_Export这个微流,开始实现导出功能Mendix如何实现导出文件_第38张图片

结合官方文档的7、8两章,合并使用如下所示:

Mendix如何实现导出文件_第39张图片

下面是每一步的截图

Mendix如何实现导出文件_第40张图片Mendix如何实现导出文件_第41张图片Mendix如何实现导出文件_第42张图片Mendix如何实现导出文件_第43张图片Mendix如何实现导出文件_第44张图片Mendix如何实现导出文件_第45张图片Mendix如何实现导出文件_第46张图片

五、运行项目,访问页面,点击export测试导出功能

点击Export下载一个文件名叫second,和模版名称一致。之前在模版内创建的sheets2里面只加了一列邮箱,打开second.xls当前有一列邮箱信息展示如下:

Mendix如何实现导出文件_第47张图片Mendix如何实现导出文件_第48张图片Mendix如何实现导出文件_第49张图片

以上就是Mendix export导出功能,经过2天尝试踩坑成功,查看了一些文档和社区提问好像没有我记录的这么详细,哈哈哈哈~~~希望能帮助到新手,小白路上越挫越勇,加油!

你可能感兴趣的:(Mendix,前端,后端)