报表工具访问 Ftp

需求

如何读取 Ftp 服务器上的数据文件生成报表?

已知在 Ftp 服务器(与 报表应用服务器在同一局域网)上存放有“订单”、“订单明细”等 Excel 数据文件,如下

imagepng

读取其中的“订单.xls”和“订单明细.xls”,数据情况

imagepng

imagepng

想要生成报表结果(除几个订单基本信息外,增加”订单总额”)

imagepng

方案分析

目前还没见过报表工具可以支持直接读取 Ftp 服务器上数据文件作为数据源的, 可行的解决办法也只能是通过程序类数据集,利用 Java 的 Ftp 组件写代码完成了,缺点明显:代码量都很多(包括引入 Ftp 组件完成连接下载、读取 Excel 数据文件、关联汇总、格式转换等),需要具备编程能力,有一定的技术门槛,且不通用。

针对该问题,采用润乾报表的脚本数据集已经很容易解决,封装了对 Ftp 服务器文件进行操作的外部库函数,借助脚本的数据处理能力,还可以轻松解决读取 Excel 文件及多表关联,接下来就看看怎么做?

具体实现

1、 打开润乾报表工具,引入 FtpCli 外部库

外部库的下载和使用指南,可到https://c.raqsoft.com.cn/tag/Download 查找。

勾选“FtpCli”选项

imagepng

2、 新增空白报表并新增脚本数据集

imagepng

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、 绘制报表呈现数据

imagepng

预览报表结果

imagepng

以下是广告时间

对润乾产品感兴趣的小伙伴,一定要知道软件还能这样卖哟性价比还不过瘾? 欢迎加入好多乾计划。
这里可以低价购买软件产品,让已经亲民的价格更加便宜!
这里可以销售产品获取佣金,赚满钱包成为土豪不再是梦!
这里还可以推荐分享抢红包,每次都是好几块钱的巨款哟!
来吧,现在就加入,拿起手机扫码,开始乾包之旅



嗯,还不太了解好多乾?
猛戳这里
玩转好多乾