1. 概述编辑
1.1 版本说明
FineReport版本 | 插件版本 | 功能变动 |
---|---|---|
10.0.18 | V2.2 | 数据源类型支持服务器数据集,支持从 CSV、Excel 文件中读取数据 |
1.2 应用场景
ETL 作业时直接从 Excel 文件里面读取数据是比较常见的需求,插件 2.2 版本「离线同步」节点的数据源类型支持服务器数据集。
用户可以先用设计器新建 Excel 文件数据集,然后再用「离线同步」节点去读取该数据集,进而实现 ETL 作业从 Excel 文件里面读取数据的需求。
2. 示例编辑
2.1 新建Excel数据集
1)设计器安装路径 %FR_HOME%\webroot\WEB-INF\reportlets\ 下新建一个文件夹 Excel ,用于存放 Excel 文件。
注:在这个路径下建文件夹是因为示例的文件数据集是获取本地文件,而本地文件只能从这个路径下获取。
2)将示例用到的 Excel 文件 合同事实表.xlsx 放到这个文件夹里面去,如下图所示:
3)打开设计器,菜单栏点击「服务器>服务器数据集」,如下图所示:
4)如下图步骤新建一个文件数据集。
5)文件类型选择「Excel」,将示例 Excel 文件添加进来,勾选「第一行包含标题」,右下角「预览」按钮可以查看数据集效果。
2.2 配置离线同步节点
1)打开报表决策系统,进入 ETL 作业的「数据平台」,新建一个任务,将一个「离线同步」节点拖到设计界面,如下图所示:
2)双击该节点进行配置,首先配置数据来源,数据源类型选择「服务器数据集」,数据集类型选择「Excel」,数据选择上面新建好的「文件数据集1」,如下图所示:
可以先用右下角的「数据预览」看下数据获取效果,如下图所示:
3)使用自动建表将 Excel 中的数据抽取到目标表 contract ,如下图所示:
4)点击「下一步」,继续配置字段映射,如果这一步没问题不需要修改的话,直接点击「确定」即可,如下图所示:
2.3 效果查看
1)节点配置好后,点击任务右上角保存并运行,可以看到任务执行成功,如下图所示:
2)回到数据库发现多了张表 contract ,且 Excel 中的数据已写入该表,如下图所示:
3. 注意事项编辑
1)如果想要获取 CSV 数据,2.1节只需要按照文档 CSV数据集 来新建数据集,其他步骤一样的。
2)文件数据集的文件如果是某个固定路径下的,且地址中包含参数,那么参数可以被解析使用,例如:
用户定义了文件的 URL 为:https://fanruan-market.oss-cn-shanghai.aliyuncs.com/fine_data_prep_test/${today}.xls
如果 ${today} 在 ETL 任务内被定义过,那么支持正常解析。