表格软件之FineReport-JS实现大数据集导出(二)

news2025/7/30 9:55:56

1. 示例:大数据集导出动态参数值

1.1 新建模板

1.1.1 新建数据集

新建普通报表,新建数据集,SQL 语句如下:

ds1:SELECT * FROM 销量 where 1=1 and 地区 in ('${area}') and 销售员 in ('${stuff}')

ds2:SELECT 销售员 FROM 销量 where 地区 in ('${area}')

1.1.2 设计报表

报表主体样式如下图所示:

1.2 设置查询控件

编辑参数面板,新增两个「标签控件」,两个「下拉复选框控件」,一个「查询控件」。如下图所示:

1.2.1 地区控件

选中第一个「下拉复选框控件」,设置控件名称为「area」,标签名称为「地区:」,数据字典设置为数据库 FRDemo 中「销量」表中的「地区」,返回值类型为「字符串」,分隔符为',',如下图所示:

1.2.2 销售员控件

选中第二个下拉复选框」控件,设置控件名称为「stuff」,标签名称为「销售员:」,数据字典设置为数据集 ds2 中的「销售员」,返回值类型为「字符串」,分隔符为',',如下图所示:

1.3 设置动态导出列

新增一个「标签控件」,一个「下拉复选框控件」。选中「下拉复选框控件」,点击「控件设置>属性」,设置控件名称为「col」,标签名称为「导出列」,数据字典类型为「公式」,实际值为:TABLEDATAFIELDS("ds1"),如下图所示:

1.4 设置导出控件

1.4.1 新增控件

新增一个「按钮控件」,点击「控件设置>属性」,设置按钮名字为「大数据集导出」,如下图所示:

1.4.2 设置点击事件

选中「按钮控件」,点击「控件设置>属性」,新增「点击事件」,输入 JavaScript 语句,如下图所示:

JavaScript 代码如下:

var widgetNames = ['area', 'stuff']; //定义数组存放控件名称

function getWidgetValueByName(name) {

       var widget = _g().parameterEl.getWidgetByName(name); //根据控件名获取控件值

       if (widget == undefined) return;

       var obj = {};

       obj[name] = widget.getValue();

       return obj; //返回控件值组成的数组

}

var paramJson = widgetNames.map(getWidgetValueByName).reduce(function(a, b) {

       return Object.assign(a, b)

});

var paramJsonStr = JSON.stringify(paramJson); //将json数据转换为字符串

var col = _g().getParameterContainer().getWidgetByName("col").getValue();

//alert(col);

//参数进行url编码

var colNames = encodeURIComponent(col)

//var colNames = encodeURIComponent("地区,销售员,产品类型,产品,销量") //指定导出的数据列,导出字段按此顺序排列,为空默认导出所有

//调用导出接口

//console.log(paramJsonStr);

//console.log(colNames);

_g().directExportToExcel("ds1", "销量", encodeURIComponent(paramJsonStr), colNames," "," ");

显示代码

1.5 效果预览

保存模板,点击「分页预览」。查询「地区」、「销售员」,选择需要导出的数据列,点击「大数据集导出按钮」,导出内容与查询内容一致,且仅导出指定的数据列。如下图所示:

注:不支持移动端。

2. 已完成模板

2.1 示例一

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\大数据集导出固定参数值.cpt

2.2 示例二

已完成模板可参见:%FR_HOME%\webapps\webroot\WEB-INF\reportlets\doc\Parameter\大数据集导出动态参数值.cpt

总结

帆软FineReport大数据集导出时连接的是 Presto 数据库,如果导出失败且有如下报错信息:

警告:14:39:00  EventThread , 帆软的人性化操作做得好,也是一套相对完整的报表平台制作表格软件,也可进行全链路数据建设。中文用户界面用户更容易上手,都提供官方技术支持、论坛、交流小组等,可以帮助用户快速解决问题。ERROR [standard] com.facebook.presto.jdbc.NotImplementedException:  Method Connection.prepareStatement is not yet implemented

只需要将驱动升级到 presto-jdbc-339.jar 即可,进入 Presto官网 ,下载驱动的方法如下图所示:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35189.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

178. 分数排名

文章目录1.题目2.示例3.答案①系统自带函数1.题目 表: Scores -------------------- | Column Name | Type | -------------------- | id | int | | score | decimal | -------------------- Id是该表的主键。 该表的每一行都包含了一场比赛的分数。Score是一个有两位小数点的…

LigaAI X 猴子无限 | AIGC 火了,专业设计者的福音来了!

「人工智能团队协作」还能有多少种打开方式? 致力于打造新一代智能研发协作平台,LigaAI在不断强化自身智能化能力的同时,也持续关注着整个「AI协作」领域的发展。 Gartner在《 2022 年重要战略技术趋势报告》中指出,未来三到五年…

MySQL基础命令高级操作

文章目录一、案例拓展二、数据库高级操作1、克隆表2、清空表,删除表内的所有数据3、创建临时表三、创建外键约束,保证数据的完整性和一直性1、创建主从表2、为主表zhu添加一一个主键约束。主键名建议以“PK_ "开头3、为从表cong表添加外键&#xff…

本地web服务器配置(IIS)

文章目录环境说明操作流程环境说明 Windows 10 操作流程 打开控制面板,输入功能,回车,选择启用或关闭 Windows 功能, 点击确定,等待配置,接着按照提示,重新启动计算机。(此处我的…

Ansible Automation Platform - 导入外部主机清单

《OpenShift / RHEL / DevSecOps / Ansible 汇总目录》 文章目录从外部向“清单”批量导入主机从 VMware vCenter 导入主机清单从外部文件导入主机清单使用“智能清单”Ansible 的 Playbook 执行目标是 “清单” 中的主机和分组。在 AAP 控制台中可以手工创建 “主机” 并通过 …

03、Spring中的静态代理JDK动态代理CGLB动态代理

本文章主要讲解以下几个点: 1、代理模式 2、静态代理 3、JDK的动态代理 4、CGLB动态代理 1、代理模式 1、定义 给某一个对象提供一个代理,并由代理对象控制对原对象的引用。 2、通俗解释 比如:一个人(客户端)需要去…

深度学习 Day 20——优化器对比实验

深度学习 Day 20——优化器对比实验 文章目录深度学习 Day 20——优化器对比实验一、前言二、我的环境三、前期工作1、设置GPU2、导入数据3、配置数据集4、数据可视化三、构建模型四、训练模型五、模型评估1、Accuracy与Loss图2、评估模型六、最后我想说一、前言 🍨…

分析linux启动内核源码

内核的启动时从main.c这个文件里面的start_kernel函数开始的,这个文件在linux源码里面的init文件夹下面 下面我们来看看这个函数 这个函数很长,可以看个大概过去 asmlinkage __visible void __init start_kernel(void) {char *command_line;char *afte…

MCE | 靶向相分离 小分子药物研发

细胞内的各种组分如何在正确的时间、地点上聚集并执行其相应的功能,是生命科学领域内的一大问题。近些年来,细胞内一些没有细胞膜结构包被的“细胞器” (Membrane-less organelles/condensates)——又称生物分子凝聚体 (Biomolecular condensates) 逐渐引…

Analyzing User-Level Privacy Attack Against Federated Learning

Analyzing User-Level Privacy Attack Against Federated Learning IEEE JSAC CCF-A期刊 宋梦凯(武汉大学网络安全实验室) Summary 提出了针对FL用户级隐私的基于GAN的攻击(mGAN-AI),主要是从每个client的更新中计算…

UniPro助力半导体企业之低代码平台篇:高效协同快速响应

在《UniPro助力半导体企业之特色篇:缺陷管理覆盖全流程》中,我们介绍了UniPro如何帮助半导体企业完成在研发过程中的Bug管理,然而缺陷管理也并非UniPro的全部,除此之外,UniPro有着完整的项目管理体系,涵盖了…

相控阵天线(二):非规则直线阵列天线(稀布阵列、稀疏阵列、平方率分布阵列)

目录非规则线阵概述不均匀递变间距阵列稀布阵列稀疏阵列不均匀相位递变阵列不均匀幅度激励阵列代码示例非规则线阵概述 非规则线阵主要包括以下情况: 1. 不均匀间距阵列: a)不均匀间距递变阵列:单元间距按照一定的系数递增&#…

傻白入门芯片设计,IP, MCM, SiP, SoC 和 Chiplet的区别(二)

一、IP: 早期的复制电路都是全定制,比如Intel的4004cpu,这种设计非常耗时。考虑到cpu的很多模块有相似的地方,能不能把这些东西模块化?于是就有了IP核的概念,Intelligent Property,即知识产权核…

智慧运维解决方案-最新全套文件

智慧运维解决方案-最新全套文件一、智能运维的必然性二、建设思路三、建设方案1、IT资产和配置管理2、自动化运维管理3、一体化运维平台四、获取 - 智慧运维全套最新解决方案合集一、智能运维的必然性 运维场景多样化。随着IT业务持续增长,为保证业务连续性&#xf…

相控阵天线(八):圆环阵列天线和球面阵列天线

目录圆环阵圆环阵方向图函数均匀圆环阵示例圆环阵层间距的影响非均匀圆环阵示例球面阵列球面阵方向图函数球面阵示例圆环阵 多个单元分布在一个圆环上的阵列称为圆环阵列。这是一种有实际意义的阵列结构,可应用于无线电测向、导航、地下探测等系统中。 圆环阵方向…

微服务介绍

目录一、系统架构演变单体应用架构垂直应用架构分布式架构SOA架构微服务架构二、微服务架构介绍微服务架构常见问题微服务架构常见概念服务治理服务调用服务网关服务容错链路追踪微服务架构常见问题解决方案ServiceComdServiceCloudServiceCloud AlibabaSpringCloud Alibaba介绍…

[论文评析-CV]MediaPipe: A Framework for Building Perception Pipelines, ArXiv,2019

MediaPipe: A Framework for Building Perception Pipelines文章信息前言框架介绍MediaPipe用于目标检测(1)Detection branch:(2)Tracking branch:MediaPipe框架重要的概念调度其他References文章信息 论文题目:MediaPipe: A Framework for Building Perception Pi…

mysql误删数据后 快速恢复的办法

手抖不小心把表里的数据删除或修改错误怎么办?该如何快速恢复呢?遇到这样的问题怎么办?希望下面这篇文章能够帮助到你! 第一步:保证mysql已经开启binlog,查看命令: 查看binklog是否开启 show…

运动耳机品牌排行榜前十名有哪些,2022年六款运动耳机值得入手

近几年来,运动健身潮流一直都非常火热,但一个人运动难免会感到枯燥,这个时候最需要的就是音乐的陪伴了,佩戴着运动耳机听音乐,运动的时间也会过得越来越快,不过在选购运动耳机的过程会比挑选普通蓝牙耳机还…

pycharm社区版不能使用conda

修改成cmd 本质是conda init 问题 专业版的直接在终端改成cmd就行了