请上传宽度大于 1200px,高度大于 164px 的封面图片
    调整图片尺寸与位置
    滚轮可以放大缩小图片尺寸,按住图片拖动可调整位置,多余的会自动被裁剪掉
取消
星仔(uid:1139764)
职业资格认证:FCA-FineReport
FineReport 程序数据集实现 HTTP 请求数据获取实践文档
一、背景与需求 因业务数据需通过 HTTP 请求访问获取,初期计划采用数据集工厂方案,但受限于公司经费,最终确定通过程序数据集实现该需求。以下为完整实现流程、问题记录及解决方案,供同类场景参考。 二、前期准备 1. 参考官方文档与 Demo 优先查阅 FineReport 官方文档获取程序数据集基础指导,直接下载官方 Demo 源码(含完整实现逻辑),文档链接:带参程序数据集 | FineReport 帮助文档。 2. 环境配置与代码准备 导入依赖包:按官方文档要求,在 Java 工程中导入%FR_HOME%/lib、%FR_HOME%/server/lib、%FR_HOME%/webapps/webroot/WEB-INF/lib下的所有 JAR 包,及 JDK 中的tools.jar。 参考代码:附本人编写的 Java 实现文件(el_api20.txt,4.73K),可直接参考复用。 el_api20.txt (4.73 K) 三、开发与测试建议 开发阶段实现难度较低,核心挑战集中在测试环节,尤其是本地与服务器环境的一致性问题。   关键建议:搭建与服务器完全一致的本地测试环境(复制服务器部署文件至本地),便于快速重启、修改配置,精准复现服务器端问题,大幅提升调试效率。 四、问题记录与解决方案 问题一:服务器端程序数据集预览报错 现象:本地测试正常,部署到服务器后预览报表报错,错误信息【com.fr.general.data.TableDataException: 错误代码:11300001 数据集配置错误】。 排查步骤:直接查看报表实际错误日志,定位根因。 原因:服务器环境缺少OKHTTPclient相关 JAR 包,导致 HTTP 请求功能无法正常运行。 解决方案: 在本地%FR_HOME%/lib目录中找到 3 个 OKHTTP 相关 JAR 包; 将其复制到服务器%FR_HOME%/server/lib目录下; 重启 FineReport 服务器,问题解决。 问题二:程序数据集预览参数关闭后丢失 现象:在数据集预览时手动输入的参数,关闭预览窗口后再次打开,参数信息消失。 原因:服务器已部署程序数据集对应的class文件,但本地设计器未同步放置该文件,导致设计器无法保存参数配置。 解决方案:将服务器上的程序数据集class文件复制到本地设计器对应目录(%FR_HOME%/webapps/webroot/WEB-INF/classes下,需与包名路径匹配),重启设计器后参数可正常保存。
关于散点图的size无法展示或展示为-的问题
关于散点图的size无法展示或展示为-的问题 如果散点图的size字段的值不是数字类型就会出现这种问题,需要把汉字或者英文剔除,只保留数字
有偿有帮忙搭建帆软插件,具体业务我自己写从0-1求搭建
有偿有帮忙搭建帆软插件,具体业务我自己写从0-1求搭建
箱型图-使用js实现:中位数用不同颜色展示
一、效果展示   原始的使用边框呈现的效果不佳,不能直观的看到中位数 使用JS只渲染中位数后效果如下: 二、实现原理 找到中位数的元素,使用js在加载结束后改变该元素的style 中位数元素: document.querySelector("#Chart__Cells__A3__E26__1621493e-dae3-4188-a09d-804f3bd8d56c__index__0 > svg > g.clipSeriesGroup > g > g:nth-child(5) > g:nth-child(1) > line:nth-child(4)")   其中有几个变量 : E26是单元格, g > g:nth-child(5) 是列的序号,不过好像是倒叙的 g:nth-child(1) 这个应该是系列 我这边只有一个系列所以都是1, line:nth-child(4)这个是中位数的元素这个不用管   找到中位数元素后,使用js渲染:主要就是遍历 Chart__Cells__A3开头的ID 然后找到 g.clipSeriesGroup 下的24列数据我这边只有24列 然后将中位数的样式改变。 可以按自己的需求修改这几块变量     // 封装一个函数,用于查找符合条件的 line 元素 function findTargetLine(container, index, callback) {     setInterval(function () {         // 找到包含 clipSeriesGroup 类的 g 元素         const clipSeriesGroup = container.querySelector('g.clipSeriesGroup');         if (!clipSeriesGroup) {             console.log(`未找到 clipSeriesGroup 元素,容器 ID: ${container.id}`);             callback(null);             return;         }         var targetGSelector1 = 'g > g:nth-child(' + index + ') > g:nth-child(1)';         const targetG = clipSeriesGroup.querySelector(targetGSelector1);         if (!targetG) {             console.log('未找到目标 g 元素');             callback(null);             return;         }           // 找到目标 line 元素         const targetLine = targetG.querySelector('line:nth-child(4)');         if (!targetLine) {             console.log('未找到目标 line 元素');             callback(null);             return;         }           callback(targetLine);     }, 500); }   // 使用属性选择器找到所有以 Chart__Cells__A3__A26 开头的容器元素 const containers = document.querySelectorAll(''); const allTargetLines = ;   // 循环处理每个容器 containers.forEach((container) => {     for (let index = 24; index >= 1; index--) {         // 调用函数查找目标元素         findTargetLine(container, index, function (lineElement) {             // 若找到元素,修改其样式             if (lineElement) {                 lineElement.style.fill = "rgb(162, 160, 152)";                 lineElement.style.fillOpacity = "1";                 lineElement.style.stroke = "rgb(234, 68, 49)";                 lineElement.style.strokeOpacity = "1";                 lineElement.style.strokeWidth = "1";                 lineElement.style.filter = "none";                 lineElement.style.pointerEvents = "auto";                 allTargetLines.push(lineElement);                 if (allTargetLines.length > 1) {                     const prevLine = allTargetLines;                     const currentLine = allTargetLines;                     connectLines(prevLine, currentLine);                 }             }         });     } });       
导入后公式列不随导入数据扩展
1、在设置了 扩展方向的基础上修改这里
关于导入只展示一行的问题
背景:使用普通导入,导入后只展示一行,如果使用增加记录后,增加几行机会导入几行。 1、后来查了很多都说是扩展方向的问题 2、经过测试后发现需要设置数据源的话,数据源要设置为列表展示,这样的话再导入就会全部导入  
个人成就
内容被浏览13,812
加入社区3年153天
返回顶部