解决上一章提出的两个问题
  1. 左侧的占位符需要根据数据源创建,而数据源需要用户来选择,同一个数据源中可能需要多张表,多张关之前的关联条件以及过滤条件,整个数据源也有过滤条件
    因为这一步只是设置数据源参数,并不涉及读取解析数据源,所以后台比较简单只需要把相应参数保存起来即可。
    重点是在前端页面需要一个类似这样的配置界面
  2. 需要要识别哪一部分是需要重复输出的,如截图中的样品信息表中,需要根据数据库中有几行就输出几行
    1.1比较精确的方式,是在需要重复的行上插入约定的标识符,标识符中包含数据源, 如${ds.crm_user.name:repeat},在替换占位符时解析到约定的标识符后。根据数据源中的数据量在表中插入相应的行
    1.2大部分情况下,不需要用户参与,可以根据行中的占位符列数来判断是否需要重复
  3. 动态扩展列在第一章文末列举过。这个场景必须用户参与设置
  4. 提交给后台的大概需要一个这样的结构


在配置完了参数后,后台只需要把每个表的列及注释返回,提供用户选择。

如果是开源社区版的only office只能由用户ctrl+v把占位符粘贴到指定位置,如果是开发版本可以通过左侧点击占位符触发自动填充。

到此前端相关的内容基本就结束了,接下来就需要后台解析数据源、生成SQL、读取数据源、解析word模板、识别占位符与约定标识符、识别模板样式(字体尺寸颜色等)、填充数据。
填充完数据就回到预览环节了。

参考【后台解析