如何整理Excel数据以实现JS端的高宽与价格匹配功能
Excel数据最优整理方案(用于高度/宽度匹配价格)
1. 优先采用三列规整结构(最推荐)
把所有数据拆解成**高度(Height)、宽度(Width)、价格(Price)**三列,每一行对应一组唯一的尺寸组合和价格:
| 高度 | 宽度 | 价格 |
|---|---|---|
| 100 | 200 | 50 |
| 100 | 300 | 60 |
| 150 | 200 | 70 |
| ... | ... | ... |
- 优势:程序读取后可直接构建双维度映射字典(比如Python中用
{(height, width): price}),或者存入数据库创建联合索引,查询匹配的逻辑极简且速度极快,完全不会出现歧义。 - 注意事项:统一数值格式(不要混存整数/字符串,不要在单元格里带单位,单位标注在表头即可),确保每组Height+Width组合唯一。
2. 保留交叉表结构时的标准化修正
如果不想彻底重构原表格(原表是行对应高度、列对应宽度的交叉布局),必须做以下修正:
- 第一行必须是完整的宽度数值,无合并单元格、空值;第一列必须是完整的高度数值,同理。
- 所有交叉位置的价格单元格不能有合并、空白,空白需补全默认值或标记“无对应价格”。
- 程序读取时,可先提取第一行和第一列的尺寸列表,再通过单元格坐标匹配对应的高度、宽度和价格。
3. 额外优化细节
- 去重:清理重复的Height+Width组合,避免匹配时出现多结果冲突。
- 排序:按高度升序、宽度升序排列数据,方便后续维护和程序遍历。
- 前置校验:用Excel的「数据验证」功能限制高度、宽度的数值范围,提前规避录入错误。
内容的提问来源于stack exchange,提问作者1skora
相关产品推荐
相关产品推荐

