报表工具访问 Ftp
需求
如何读取 Ftp 服务器上的数据文件生成报表?
已知在 Ftp 服务器(与 报表应用服务器在同一局域网)上存放有“订单”、“订单明细”等 Excel 数据文件,如下
读取其中的“订单.xls”和“订单明细.xls”,数据情况
想要生成报表结果(除几个订单基本信息外,增加”订单总额”)
方案分析
目前还没见过报表工具可以支持直接读取 Ftp 服务器上数据文件作为数据源的, 可行的解决办法也只能是通过程序类数据集,利用 Java 的 Ftp 组件写代码完成了,缺点明显:代码量都很多(包括引入 Ftp 组件完成连接下载、读取 Excel 数据文件、关联汇总、格式转换等),需要具备编程能力,有一定的技术门槛,且不通用。
针对该问题,采用润乾报表的脚本数据集已经很容易解决,封装了对 Ftp 服务器文件进行操作的外部库函数,借助脚本的数据处理能力,还可以轻松解决读取 Excel 文件及多表关联,接下来就看看怎么做?
具体实现
1、 打开润乾报表工具,引入 FtpCli 外部库
外部库的下载和使用指南,可到https://c.raqsoft.com.cn/tag/Download 查找。
勾选“FtpCli”选项
2、 新增空白报表并新增脚本数据集
3、 编写脚本
A | B | |
---|---|---|
1 | =ftp_client(“192.168.2.24”:21,“Administrator”,“getShare”) | / 创建 Ftp 客户端 |
2 | =ftp_cd(A1,“/ftp 数据文件”) | / 设置远程工作目录为“/ftp 数据文件” |
3 | =ftp_get(A1," 订单.xls) | / 下载 订单.xls |
4 | =ftp_get(A1," 订单明细.xls) | / 下载 订单明细.xls |
5 | =file(“订单.xls”).importxls@t() | / 读取“订单.xls” |
6 | =file(“订单明细.xls”).importxls@t() | / 读取“订单明细.xls” |
7 | =A4.groups(订单 ID;sum( 数量 * 单价): 订单总额 ) | / 根据订单 ID 汇总 |
8 | =A3.join(订单 ID,A5, 订单总额) | / 为订单表增加“订单金额” |
9 | >ftp_close(A1) | / 关闭 ftp 客户端 |
10 | result A8 |
4、 绘制报表呈现数据
预览报表结果
以下是广告时间
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅
嗯,还不太了解好多乾?
对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅
嗯,还不太了解好多乾?