简介:《Smartbi报表设置文档》面向使用Smartbi制作电子表格报表的开发与数据分析人员,聚焦报表从模板引用到预览发布的完整设置流程,适合需要快速掌握格式调整、参数控制与发布环节的初、中级使用者。文档以操作步骤配合知识点说明展开,涵盖引用模板、页面设置、隔行不同颜色、列宽自适应、参数设置与排版、预览发布等模块;其中列宽自适应提供可复用的宏代码,日期参数示例给出“结束日期不早于开始日期且间隔不超过90天”的校验思路,便于读者按实际报表改造。压缩包共1个docx文件,大小约1.05MB,轻量易查阅,可当作配置清单与排错参照。已有1304人学习或下载,说明其在同类报表设置场景中具有一定参考价值。
1. 从一次“页签消失”说起:Smartbi 报表设置环境到底要装什么
Smartbi 报表设置文档看着像一份模板/素材说明,真正落地时却先卡在环境:Excel 里没有 Smartbi 页签,或者页签在但登录后打不开模板,后面隔行色、列宽自适应、参数校验宏全无从谈起。我见过某开发者把报表文件拷到新电脑,双击打开只看到普通表格,宏按钮灰着,最后靠重装插件和调整宏权限才恢复。这套环境适合需要在 Excel 里设计 Smartbi 报表、给参数加校验、做参数排版的开发者;装不好不会“报个大错”,而是入口消失、脚本不执行、预览结果和设计稿对不上,属于典型的配置型翻车。先把环境组合、插件登录、宏入口三件事理清,再谈报表样式。
2. 装 Smartbi Excel 插件:登录入口、宏权限与模板打开链路
2.1 先定环境组合:Excel 桌面版、插件位数和登录地址
Smartbi 报表设置的第一步不是打开模板,而是确认你手上的 Excel 和 Smartbi 插件能互相认出来。原文的操作入口是“Excel 中 Smartbi 页签”,这意味着你用的是桌面版 Excel,而不是网页版表格工具;插件安装包要和 Excel 的位数一致,32 位 Excel 配 32 位插件,64 位 Excel 配 64 位插件。版本号不用在文档里硬编码,具体以管理员给你的安装包为准,但“位数一致、版本配套”这两个原则不能省。
我一般会先做一张环境核对表,装之前逐项打勾。很多“页签不出现”的问题,其实是 Excel 位数和插件位数错配,或者登录地址在当前网络下根本打不开。核对表不用复杂,能把下面几项确认清楚,后面少走很多弯路。
| 检查项 | 合格标准 | 不合格时的表现 | 处理方式 |
|---|---|---|---|
| Excel 类型 | 桌面版 Excel,能正常新建工作簿 | 只有网页表格入口 | 换成桌面版再装插件 |
| Excel 位数 | 与插件安装包位数一致 | 页签不出现或加载报错 | 卸掉插件,换对应位数重装 |
| Smartbi 登录地址 | 浏览器能打开并登录 | 插件登录转圈或提示连接失败 | 先解决网络和账号问题 |
| 宏权限 | 当前信任位置允许运行宏 | 宏管理能开,脚本不执行 | 调整信任中心或信任位置 |
| 账号权限 | 能打开目标模板 | 登录成功但模板列表为空 | 找管理员确认模板权限 |
这张表里最容易被忽略的是“宏权限”。Smartbi 页签能出现,只代表插件加载成功;列宽自适应和参数校验宏能不能跑,还取决于 Excel 是否允许宏执行。常见做法是先把报表文件放到一个固定信任目录,再对这个目录放开宏,而不是全局放开所有宏。这样既能跑脚本,也不至于把每个下载来的表格都当成可信文件。
还有一个细节:安装插件前先退出 Excel,不只是关窗口,而是确认后台没有残留的 Excel 进程。否则安装程序可能提示文件占用,装完页签也不一定刷出来。装完后第一次启动 Excel 会慢一点,属于插件加载的正常现象;如果连续几次都没有 Smartbi 页签,就不要反复点安装包,先去看位数和加载项状态。
2.2 安装与登录:让 Smartbi 页签稳定出现
安装动作本身不复杂,难的是顺序。我的习惯是:确认安装包来源和位数,退出 Excel,右键以管理员身份运行安装包,装完重启 Excel,再从 Smartbi 页签登录。不要在图省事在 Excel 打开状态下覆盖安装,插件文件被占用时,安装程序有时会“装完但没完全装”,页签时有时无,特别玄学。
可以先在 PowerShell 里快速看一眼 Office 平台信息,目的不是替代安装包说明,而是避免拿错位数。下面的命令只做核对,不会改动系统配置。
# 查看即点即用版 Office 的平台信息,快速判断当前 Excel 是 x86 还是 x64 Get-ItemProperty "HKLM:\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" | Select-Object Platform, VersionToReport这段命令读取的是 Office 安装配置里的平台字段。Platform常见结果是x86或x64,它要和 Smartbi 插件安装包的位数对上;VersionToReport只用来核对当前 Office 版本,不需要在报表文档里写死。若命令查不到结果,不要硬猜,直接打开 Excel 的“文件 → 账户 → 关于 Excel”看位数,或者问管理员要对应版本的插件包。装插件时还有两个参数性选择:安装目录尽量不带中文和空格,安装范围按管理员建议选“当前用户”或“所有用户”。前者通常不需要额外权限,后者适合共用机器,但改动前要确认不会影响其他人的 Excel 配置。
登录环节要按原文链路走:在 Excel 的 Smartbi 页签中点击登录,输入当前环境可用的账号,登录成功后再点击模板、打开模板。这里不要先打开一个本地报表文件再找登录入口,顺序反了容易出现“文件是本地表格、页签是插件入口”的割裂状态。登录后先看模板列表能不能正常展开,能展开再打开目标模板;如果模板列表空白,先别怀疑模板文件损坏,优先检查账号权限和当前登录地址是否与管理员给的一致。
安装完成后做一次最小验证:新建空白工作簿,确认 Smartbi 页签存在;点击登录,确认能登录成功;点击模板,确认能看到至少一个可打开模板。三步都过了,再进入报表样式设置。这个顺序看似慢,实际上比后面在宏代码里排查“为什么不执行”快得多。
2.3 宏权限与信任位置:给后续脚本留出入口
列宽自适应和参数校验都写在 Smartbi 页签下的宏管理里,所以宏入口必须提前打通。常见配置路径是 Excel 的“文件 → 选项 → 信任中心 → 信任中心设置 → 宏设置”,把当前报表目录加入受信任位置,再确认宏在该位置可运行。不要一上来就把全局宏安全调到最低,尤其是共用电脑;更稳的做法是固定一个报表工作目录,只对这个目录放行。
配置完成后,回到 Excel 的 Smartbi 页签,找到宏管理,确认能新建宏、能保存、能再次打开。此时先不要粘贴大段代码,新建一个空宏保存一次,关闭再打开,看看宏是否还在。这个动作相当于给后续脚本做一次“入口验收”。如果空宏都保存不了,后面两段代码一定跑不起来,先查文件是否只读、目录是否在信任位置、Excel 是否处于受保护的视图。
宏权限这块还有一个容易翻车的点:同一个报表文件从聊天工具或邮件附件直接打开时,可能进入“受保护的视图”,此时页签和宏都会受限。解决方式不是反复启用内容,而是先把文件另存到固定报表目录,再从本地目录打开。把“下载目录直接打开”改成“先落到信任目录再打开”,能省掉大量看起来像插件故障的问题。
2.4 卸载重装与回退:装坏了先保模板和宏代码
插件装坏时不要直接覆盖重装,先把报表模板和宏代码备份出来。顺序是:关闭 Excel,备份当前模板文件,把宏管理里的代码复制到本地文本文件,再卸载 Smartbi 插件,重启 Excel,最后按原来的位数重新安装。这个回退顺序听起来笨,但它能避免“重装后模板还在、宏没了”的尴尬。尤其是参数校验宏,里面保存了原doRefresh的引用,代码丢了就得重写。
重装后先登录,再打开模板,不要反过来。登录成功后先看模板列表,再打开备份模板,确认页面设置、条件格式和参数排版还在,最后才重新挂宏。若重装后页签出现但登录失败,优先检查登录地址和账号,不要继续卸载;若页签不出现,再查位数和加载项。把“卸载重装”当成最后手段,而不是第一反应,能减少很多不必要的配置丢失。
3. 引用模板做第一张报表:页面设置、隔行色和参数排版
3.1 引用模板与页面设置:冻结行和第一行空白
原文的起点很明确:在 Excel 中 Smartbi 页签中登录 Smartbi,点击模板,打开模板,然后在模板上设计新报表样式。这里的“引用模板”不是复制一个普通表格,而是从 Smartbi 的模板入口进入设计状态。打开模板后先不要急着填数,先看页面设置,因为页面设置决定了后续冻结行、参数区和数据区的相对位置。
原文特别提到:第一行是空白行,所以上面报表冻结的是 1-5 行。这个细节要按实际模板执行,不要凭感觉冻结前三行。操作上,先确认第一行确实留空,再选中需要冻结的区域,在 Excel 的“视图 → 冻结窗格”里冻结到第 5 行。冻结的意义是滚动数据时参数区和表头不跑掉,但冻结多了会压缩可视区域,冻结少了又会在长报表里迷失表头。我的习惯是先按模板要求冻结 1-5 行,再滚动到数据中段看效果,若参数区被遮住就回调,不要一次冻结太多。
页面设置还包括列宽、行高和打印区域。列宽不要一开始就手动拉得很宽,后面有列宽自适应宏;行高则要保证参数区和表头不被压扁。页面设置做完后先保存一次,再继续做隔行色。这个保存动作是给自己留后悔药,后面条件格式或宏配置出错时,至少有一个可回退的干净版本。
3.2 隔行不同颜色:条件格式的落点
隔行不同颜色建议用条件格式,不要手工一行行填色。手工填色在插入行、删除行或刷新数据后会错位,条件格式则跟着行号走。常见做法是选中数据区,从数据起始行开始,不要从标题行开始,然后新建规则,选择“使用公式确定要设置格式的单元格”。
=MOD(ROW(),2)=0这个公式的意思是当前行号除以 2 的余数为 0 时触发格式,也就是偶数行填充颜色。ROW()不带参数时取当前单元格所在行号,MOD(...,2)用来判断奇偶。实际使用时要把公式里的行号逻辑和你的数据起始行对齐:如果数据从第 6 行开始,而标题在第 5 行,仍然可以用这个公式,但应用区域要从第 6 行开始选,否则标题行也会被染色。颜色不要选太重,隔行色的目的是辅助阅读,不是抢参数区的视觉重点。
设置完条件格式后,插入一行测试,确认颜色仍然交替;再删除一行测试,确认不会出现连续两行同色。若出现整片同色,通常是应用区域选错,或者公式里的行号被写死。隔行色和冻结行可以同时存在,但条件格式的优先级不要压过参数校验的提示样式,否则预览时看起来会乱。
3.3 参数排版:一行不超过 6 个的分配法
参数排版的原则原文写得很具体:筛选项还是居左,具体问题具体分析,每行尽可能美观的基础上平均分配,一行不超过 6 个;如果是 2 行,第二行至少要保留 2 个。这个规则不是审美偏好,而是为了避免参数区过宽、筛选项挤在一起。参数少的时候一行放 1 到 6 个都可以,但不要为了“填满”把不相关的参数硬塞一行;参数多的时候优先拆两行,第二行不要只剩一个孤零零的筛选项。
| 参数数量 | 推荐排法 | 说明 |
|---|---|---|
| 1-6 个 | 一行居左排布 | 不超过 6 个,标签和控件对齐 |
| 7-8 个 | 两行,4+3 或 5+3 | 第二行至少 2 个,避免单参数占一行 |
| 9-12 个 | 两行,每行不超过 6 个 | 平均分配,重要参数靠左 |
| 12 个以上 | 拆两行后再评估分组 | 不要无限压缩控件宽度 |
排版时先把参数按使用频率分组,开始日期、结束日期这类成对参数放一起,机构、部门这类层级参数按顺序放。每行参数之间留统一间距,标签宽度尽量一致,不要一个标签很长、一个很短。预览时重点看两处:筛选项是否仍然居左,第二行是否至少保留两个参数。若第二行只剩一个,宁可把第一行拆一个下来,也不要把单个参数拉满整行。
3.4 预览前检查:样式、参数和宏入口三件事
在点击预览发布之前,先做一次静态检查。第一看页面设置:第一行空白是否保留,冻结是否覆盖 1-5 行,列宽有没有被手动拉得离谱。第二看隔行色:条件格式的应用区域是否从数据行开始,插入删除行后颜色是否仍然交替。第三看参数区:每行是否不超过 6 个,两行排版时第二行是否至少 2 个,筛选项是否居左。最后看宏管理里是否已经挂了列宽自适应和参数校验,若还没挂,先不要预览发布,否则看到的列宽和日期校验都不是最终效果。
这个检查顺序是我踩坑后固定下来的:先样式,再参数,最后宏。样式问题在预览里最直观,参数排版问题在预览时最容易被忽略,宏问题则往往要触发刷新才暴露。三件事分开看,出问题时容易定位;混在一起改,最后连是哪一步导致列宽变化都说不清。
4. 列宽自适应与参数校验:两段 Smartbi 宏的配置顺序
4.1 列宽自适应宏:全局 autoFitColumns 与单列调试
列宽自适应放在 Excel 的 Smartbi 页签下的宏管理里,新建宏后粘贴原文代码。它的作用是获取当前电子表格的列数,然后从第 0 列到最后一列做自适应。调试时可以先只对某一列自适应,确认入口和参数没问题,再放开全局。
function main(spreadsheetReport) { var sheet = spreadsheetReport.workbook.worksheets.get(0); if (sheet === "" || sheet === null) { return; } var counts = sheet.cells.maxDisplayRange.columnCount; // 获取电子表格列数 sheet.autoFitColumns(0, counts); // 从 0 开始,到 counts 列结束 // sheet.autoFitColumn(3); // 只对某列进行自适应,第一列为 0 }这段代码的关键参数有三个。spreadsheetReport是 Smartbi 传进来的报表对象,宏入口会调用main;worksheets.get(0)取第一个工作表,如果你的模板有多个 sheet,要先确认报表数据在第一个 sheet,否则自适应会作用错位置。maxDisplayRange.columnCount取当前显示范围的最大列数,autoFitColumns(0, counts)从第 0 列开始自适应到counts列。调试单列时用autoFitColumn(3),这里的 3 是列索引,第一列是 0,所以它对应第四列,不要按 Excel 的列字母直接理解。
这段代码是通用的,但通用不等于随便放。它应该放在宏管理的新建宏里,而不是 Excel 的普通 VBA 模块;它依赖 Smartbi 传入的spreadsheetReport,在普通 Excel 宏里直接运行会拿不到对象。配置后先刷新一次报表,观察列宽是否变化;若完全没反应,先查宏是否保存、是否挂在当前模板上,再查当前 sheet 是否为空。若只有部分列变宽,通常是counts取的是显示范围而不是你预期的全部列,或者模板里有合并单元格影响了自适应结果。
4.2 参数校验宏:结束日期不早于开始日期且不超 90 天
参数校验宏是可选项,只有报表参数里确实有“开始日期”和“结束日期”,并且需求强制要求结束日期不早于开始日期、且两者相差不超过 90 天时才加。原文的操作入口是 Excel 的 Smartbi 页签下的宏管理,新建宏,然后粘贴下面这段代码。
function main(spreadsheetReport) { if (!spreadsheetReport._jhy_doRefresh) { spreadsheetReport._jhy_doRefresh = spreadsheetReport.doRefresh; } spreadsheetReport.doRefresh = function(fromButton, delayMask) { // 根据参数名称获取参数值 // 结束日期不早于开始日期 var endtime = new Date(spreadsheetReport.getParameterValue("结束日期 2").replace(/\-/g, "/")); var starttime = new Date(spreadsheetReport.getParameterValue("开始日期 2").replace(/\-/g, "/")); if (endtime < starttime) { setTimeout(function() { alert("结束时间不能早于起始时间"); }, 100); return; } // 结束日期不大于开始日期 90 天 if (endtime.getTime() - starttime.getTime() > 1000 * 3600 * 24 * 90) { setTimeout(function() { alert("两个参数的差不能超过 90 天"); }, 100); return; } this._jhy_doRefresh(fromButton, delayMask); }; }这段代码先保存原来的doRefresh到_jhy_doRefresh,再重写doRefresh。这样做的目的是在参数校验通过后还能执行原来的刷新逻辑,而不是把刷新入口彻底替换掉。getParameterValue("结束日期 2")和getParameterValue("开始日期 2")里的参数名必须和报表参数完全一致,包括空格和序号;如果实际参数叫“结束日期”而不是“结束日期 2”,代码里就要跟着改,否则取到空值,日期判断会失真。
replace(/\-/g, "/")是把日期字符串里的短横线替换成斜杠,目的是让new Date(...)在不同环境下更稳定地解析。两个日期比较用endtime < starttime,只要结束日期早于开始日期就拦截。90 天判断用的是毫秒差:1000 * 3600 * 24 * 90表示 90 天的毫秒数,差值大于这个数才提示“两个参数的差不能超过 90 天”,等于 90 天时放行。setTimeout(..., 100)是为了让提示框在刷新遮罩出现后再弹出,避免被遮罩盖住;return则阻止继续执行原刷新。参数名、日期格式和 90 天边界是三个最需要按实际报表调整的地方。
4.3 宏的挂载、刷新与回退
两段宏不要同时粘贴调试。我的顺序是:先挂列宽自适应,预览确认列宽正常;再挂参数校验,用边界日期测试。列宽宏不依赖参数,先跑通它能确认宏入口和spreadsheetReport对象正常;参数校验宏依赖参数名和刷新逻辑,放在后面调试,出问题时容易判断是参数名错还是宏挂载错。
挂载时注意宏名和入口。原文的代码入口都是main(spreadsheetReport),在宏管理里新建宏后保存,再回到报表刷新触发。若刷新后没有任何反应,先看宏是否处于启用状态,再看当前模板是否引用了这个宏。回退时不要直接删代码,先把宏内容复制到本地文本文件,再删除或停用;如果参数校验宏导致刷新异常,可以先把doRefresh的重写部分注释掉,保留原刷新逻辑,确认报表能正常刷新后再逐段恢复。
重复挂载是另一个容易忽略的问题。同一个模板里如果多次执行参数校验宏,doRefresh可能被包裹多层,表现是点一次刷新弹多次提示,或者提示后刷新不执行。处理方式是先停用重复宏,只保留一个入口,再重新打开模板测试。宏代码本身不复杂,复杂的是挂载状态;把“先备份、再挂载、单段验证”当成固定动作,回退时才有路可走。
4.4 配置顺序与测试数据:先样式后脚本
配置顺序建议按“模板样式 → 页面设置 → 隔行色 → 参数排版 → 列宽宏 → 参数校验宏”推进。每完成一步保存一次,不要等全部配完再保存。这样做的原因很实际:列宽宏会把列宽改掉,参数校验宏会改变刷新行为,如果样式还没定就上宏,最后很难判断列宽变化是宏造成的还是手动调整造成的。先样式后脚本,等于把可变因素分开。
测试参数校验时至少准备四组数据:结束日期早于开始日期、结束日期比开始日期晚 91 天、正好晚 90 天、正常范围。前三组用来验证拦截和边界,第四组用来验证正常刷新不被误伤。日期格式按模板实际格式填,不要一会用短横线、一会用斜杠。若提示框不出现,先看参数名是否带空格、是否和代码一致;若提示出现但刷新仍继续,检查是不是有多个doRefresh包裹或原刷新引用丢失。把这些测试数据固定在一个测试模板里,后面改参数时直接复用,比每次临时造数可靠。
5. 避坑排查:Smartbi 报表设置里最容易翻车的五处
5.1 现象:Excel 里找不到 Smartbi 页签
现象很直接:装完插件,打开 Excel 看不到 Smartbi 页签,或者页签一闪就消失。原因通常有三类:插件位数和 Excel 位数不一致;安装时 Excel 没完全退出,文件被占用导致安装不完整;插件被 Excel 的加载项管理禁用。先看位数,再看安装日志和加载项状态,不要反复双击安装包。
解决时按顺序来:退出所有 Excel 进程,确认任务管理器里没有残留,再核对安装包位数;位数一致就打开 Excel 的加载项管理,看 Smartbi 相关加载项是否被禁用,启用后重启 Excel;仍不出现就卸载重装,重装前备份模板和宏代码。若是共用电脑,还要确认安装范围选的是当前用户还是所有用户,装到别人账户下自己看不到,也会表现成“页签消失”。这一类问题看着像插件坏了,实际多半是环境组合没对齐。
5.2 现象:登录成功但模板打不开或打开空白
登录能成功,说明账号和登录地址基本可用;模板打不开或打开空白,原因更可能在模板权限、模板文件本身或受保护的视图。先确认浏览器里用同一账号能不能看到模板列表,再看 Excel 里登录后模板列表是否一致。如果浏览器能看、Excel 看不到,查插件登录地址是否和浏览器一致;如果两边都看不到,找管理员确认模板权限。
打开空白还有一种常见原因是文件从下载目录或附件直接打开,Excel 进入受保护的视图,Smartbi 页签能显示但模板内容加载受限。处理方式是把文件另存到固定报表目录,再从本地目录打开,必要时把该目录加入信任位置。若只有某一个模板空白,其他模板正常,优先检查该模板是否引用了失效的数据源或参数;不要把所有空白都归因于插件,先缩小到“账号、目录、单个模板”三个范围。
5.3 现象:列宽自适应不生效或只对部分列生效
列宽自适应不生效,先看宏有没有保存、有没有挂到当前模板。宏管理里能看到代码,不代表刷新时执行了;如果当前模板没有引用这个宏,刷新不会触发。再看sheet是否为空,worksheets.get(0)取的是第一个工作表,如果报表数据不在第一个 sheet,自适应会作用到空表或错误位置。只对部分列生效,通常是maxDisplayRange.columnCount取的是当前显示范围,不是你以为的全部列,或者模板里有合并单元格干扰。
解决时先用单列调试:把autoFitColumns(0, counts)临时换成autoFitColumn(3),刷新看第四列是否变化。单列能变,说明宏入口和对象没问题,再恢复全局自适应并检查列数;单列也不变,查宏是否启用、当前 sheet 是否正确、代码是否被包在错误的函数里。不要一边改模板列一边改宏,二者同时动,最后很难判断是哪边生效。
5.4 现象:参数校验不弹窗、重复弹窗或日期判错
不弹窗先查参数名。代码里写的是“结束日期 2”和“开始日期 2”,实际参数名必须完全一致,包括空格和序号;参数名不一致时getParameterValue取不到值,日期比较不会按预期拦截。重复弹窗通常是同一个校验宏被挂载多次,doRefresh被包裹多层;日期判错则要检查日期格式和边界,代码里先把短横线替换成斜杠再new Date,如果实际传入的是其他格式,解析结果可能不稳定。
解决时先只保留一个校验宏入口,停用重复宏;再用四组测试数据验证:结束早于开始、相差 91 天、相差 90 天、正常范围。相差 90 天应该放行,91 天应该拦截,结束早于开始必须拦截。若提示出现但刷新仍继续,检查return是否在正确位置,以及this._jhy_doRefresh(fromButton, delayMask)是否保留了原刷新。参数校验是可选步骤,报表没有日期参数就不要硬加,加了反而增加维护成本。
5.5 现象:参数排版在预览时错位或一行超过 6 个
参数排版在 Excel 设计态看着整齐,预览后却错位,常见原因是控件宽度不统一、标签长短不一,或者一行塞了超过 6 个参数。原文要求筛选项居左,每行尽可能平均分配,一行不超过 6 个;如果是两行,第二行至少保留 2 个。设计态可以用肉眼对齐,预览态要看实际渲染宽度,尤其是日期控件和下拉框,宽度不够时会被挤压。
解决时先把参数按使用频率分组,成对参数放一起,再按每行不超过 6 个重新分配。两行排版时避免第二行只剩一个参数;如果只剩一个,从第一行拆一个下来,或者把不常用参数移到第二行。预览后重点看三处:筛选项是否居左、每行是否超 6 个、第二行是否至少 2 个。排版没有绝对标准,但“不超 6、不孤行、居左对齐”这三条能覆盖大多数场景。
6. 装完怎么验证跑通:用一张参数报表做四步验收
装完插件、配好模板和宏之后,不要只看“页签出现了”就结束。我的验收方法是用一张带开始日期和结束日期的参数报表,做四步走:第一步,打开 Excel 确认 Smartbi 页签存在,点击登录能成功;第二步,从模板入口打开目标模板,检查第一行空白是否保留、冻结是否覆盖 1-5 行、隔行色是否从数据行开始;第三步,刷新报表触发列宽自适应,看列宽是否随内容变化;第四步,用边界日期测试参数校验,确认该拦的拦住、该放的放行。
| 验收项 | 操作 | 预期结果 |
|---|---|---|
| 插件入口 | 新建工作簿,看 Smartbi 页签 | 页签存在,登录按钮可点 |
| 模板链路 | 登录后点击模板并打开 | 模板正常打开,不空白 |
| 页面设置 | 滚动数据区 | 1-5 行冻结,第一行空白保留 |
| 隔行色 | 插入一行再删除 | 颜色仍交替,不整片同色 |
| 列宽自适应 | 刷新报表 | 列宽随内容调整,单列调试可复现 |
| 参数校验 | 结束日期早于开始日期 | 提示“结束时间不能早于起始时间” |
| 参数校验 | 相差 91 天 | 提示“两个参数的差不能超过 90 天” |
| 参数校验 | 相差 90 天或正常范围 | 不拦截,正常刷新 |
| 参数排版 | 预览参数区 | 每行不超过 6 个,第二行至少 2 个 |
这张表里最容易漏的是“相差 90 天”和“正常范围”两组。很多人只测了拦截,没测放行,结果边界写错,正常报表也被拦。列宽自适应也要测单列调试和全局恢复,确认宏不是碰巧生效。验收时把测试日期和参数名记在模板旁边,下次换环境直接照表跑一遍,比凭记忆可靠。
从那以后我每次装完 Smartbi 报表环境,都会先跑这四步验收,再谈样式优化;插件和宏的坑大多不是代码写错,而是入口、权限、参数名这三处没对齐。希望帮到你。
本文还有配套的精品资源,点击获取