
Univer表格数据验证与条件格式实战红绿预警和数据条一次配好【免费下载链接】univerUniver is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server.项目地址: https://gitcode.com/GitHub_Trending/un/univer想让Univer表格在录入时自动拦截错误数据、数值越界立刻变色这篇教程带你用两张真实业务表库存台账、缺货预警跑通Univer数据验证与条件格式的完整配置读完即可复现。 功能速览数据验证给指定单元格加录入门槛填错直接报错、不合规内容进不了表。条件格式让单元格按数值自动着色或画数据条异常一眼可见。两者都通过Univer的Facade API一行代码挂到任意Range上也可在界面菜单中直接设置。 实战一库存台账的3个验证规则达成效果A2:A51 仓库名只能选下拉值B2:B51 库存数量必须是 0~999 的整数C2:C51 只允许填 0 或 1。谁多填一位、填个约100都弹错误框。设置下拉列表的5个步骤以仓库列 A2:A51 为例选中 A2:A51右键选数据验证类型选整数改为序列。把可选值填进隐藏列 F2:F4一列一值华东仓/华北仓/华南仓。来源框输入$F$2:$F$4勾选在单元格内显示下拉箭头。切到出错提醒页写一句请从下拉列表中选择仓库。点确定下拉列表立即生效输入西仓会直接弹错。限制数量列 B2:B51数据验证选整数→介于最小 0、最大 999错误信息写库存数量必须是0-999的整数。锁定 0/1 列 C2:C51同样用介于规则最小最大都写 0 和 1。不想手动点等价的Facade API写法如下变量名可以按你的业务改const sheet fWorkbook.getSheetByName(库存台账); const warehouseOpts sheet!.getRange(F2:F4); // 仓库列序列下拉 sheet!.getRange(A2:A51).setDataValidation( univerAPI.newDataValidation() .requireValueInRange(warehouseOpts) .setOptions({ showErrorMessage: true, error: 请从下拉列表中选择仓库 }) .build() ); // 数量列0-999 整数 sheet!.getRange(B2:B51).setDataValidation( univerAPI.newDataValidation() .requireNumberBetween(0, 999, true) .setOptions({ showErrorMessage: true, error: 库存数量必须是0-999的整数 }) .build() );规则落在哪列、弹什么错都由setOptions决定验证器的完整实现见 数据验证服务。 实战二库存红绿预警怎么配达成效果A2:A51 中数量低于 20 补货线自动标红底、高于 100 安全上限标绿底同时在数量列铺一条蓝色数据条高低一目了然。配阈值颜色的3步选中 A2:A51开始→条件格式→单元格值条件设为小于 20样式选浅红底深红字。再叠一条规则同一范围条件大于 100样式选浅绿底。数据条单独加选中 A2:A51 →条件格式→数据条最小 0、最大 999勾选显示数值。代码版阈值 20/100 和你业务线对齐即可const stockCol sheet!.getRange(A2:A51).getRange(); const lowAlert sheet!.newConditionalFormattingRule() .whenNumberLessThan(20) .setBackground(#FFC7CE).setFontColor(#9C0006) .setRanges([stockCol]) .build(); const highMark sheet!.newConditionalFormattingRule() .whenNumberGreaterThan(100) .setBackground(#C6EFCE).setFontColor(#006100) .setRanges([stockCol]) .build(); sheet!.addConditionalFormattingRule(lowAlert); sheet!.addConditionalFormattingRule(highMark);数据条在菜单里点一下就有走API时用newConditionalFormattingRule().setDataBar({ min: { type: num, value: 0 }, max: { type: num, value: 999 }, positiveColor: #5B9BD5, nativeColor: #5B9BD5, isShowValue: true })再setRanges提交。规则引擎与渲染细节在 条件格式服务。 组合技巧录入即校验越界即变色同一张表上两套机制各管一段数据验证把坏数据挡在录入那一刻条件格式把边界值在视觉层再兜一次底。推荐组合拳B2:B51 设 0~999 的验证规则A2:A51 挂20 标红、100 标绿两条格式数量列再铺数据条。这样台账在三个层面自洽——非法值进不来、临界值看得见、整体趋势扫一眼就有数。注意顺序验证发生在输入提交前格式发生在渲染时两者互不覆盖想改阈值动格式规则就行不用碰验证。❓ 常见问题验证规则为什么不生效三个高频原因范围没覆盖到实际填写的单元格B2 而不是 B2:B51序列来源写成相对引用$F2选中多格后引用漂移应写$F$2:$F$4出错提醒页忘了打勾规则在但静默不拦。多条条件格式冲突时谁优先同一格命中多条规则时按规则创建先后叠加后来者覆盖先来的样式。想让标红命中后不再参与后续规则把该规则的stopIfTrue设为 true菜单里对应停止如果为真后面规则直接跳过。数据条和单元格背景色冲突不冲突。数据条绘制在背景色之上、数值之下红底格子里照样能看出条长isShowValue: true保证数值不被条遮住。 收尾想继续往下挖按这份清单走README项目总览与快速上手数据验证模块验证器与Facade Builder源码条件格式模块规则模型、数据条/色阶/图标集计算示例项目sheets 入口里可直接跑起本文两张表【免费下载链接】univerUniver is a full-stack framework for creating and editing spreadsheets / word processor / presentation on both web and server.项目地址: https://gitcode.com/GitHub_Trending/un/univer创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考