支持的格式
.xlsx(Excel 2007 及以上,最常见).xls(Excel 97-2003 旧格式).csv(逗号分隔文本,适合从其它系统导出)
三种格式的解析都在本机完成,不会上传到任何服务器。
名单怎么排最省事
最简单可靠的写法:第一列只放姓名,第二列可以放部门或工号,从第一行开始直接写数据,不需要自己写“序号”列。
| 姓名 | 部门 |
|---|---|
| 张伟 | 市场部 |
| 李娜 | 技术部 |
| 王强 | 销售部 |
程序只看第一行判断有没有表头:当 A 列文字里含有“序号”或“姓名”,或者 B 列文字里含有“姓名”时,这一行会被跳过;除此之外(包括你根本没写表头)第一行都会当成真实数据读进来。
所以上表里的“姓名 / 部门”表头会被跳过,而“Employee / Department”这种英文表头不会被识别——它会被当成一个叫“Employee”的人导进去。表头请用中文,或者干脆删掉那一行。
每一行是怎么被读进来的
程序只读第一个工作表,后面的工作表一律忽略。每一行按下面两条规则之一处理:
- A 列是数字(如
3 | 李娜)→ 把这个数字当序号,同一行的 B 列当姓名。写成“3号”也算,因为它以数字开头。 - 其它所有情况 → A 列当姓名,序号按出现顺序自动生成(第 1 行就是 1 号)。
序号不在 1–500 之间、或者姓名为空的行会被直接丢掉,所以“A 列有编号、B 列却空着”的行等于没写。单场参与人数上限 500 人。
不要在同一张表里混用两种排法。规则 1 的序号取自 A 列,规则 2 的序号是数行数数出来的,两者混用可能出现两行拿到同一个序号——后出现的那行会覆盖掉先出现的那行。
导入是合并而不是替换:与现有名单序号相同的会被新数据覆盖,其余序号追加进来。想从空名单开始,先去「人员管理」点一下「清空名单」。
实践建议:拿不准就把姓名放第一列、不写序号列。这种排法一定读得对,序号程序会替你补上。
常见报错与解决办法
导入后出现乱码
通常是 CSV 文件的编码不是 UTF-8。办法:用 Excel 打开后「另存为」,格式选 CSV UTF-8(逗号分隔),再导入一次。
人数比实际少
按可能性从高到低排查这几点:
- 序号重复:同一个序号只保留最后出现的那个人,前面的会被覆盖掉。这是“人数变少”最常见的原因——尤其出现在一张表里混用了两种排法的时候。
- 合并单元格:合并过的单元格只有左上角有值,其余行读出来是空的,姓名为空的行会被丢弃。先取消合并,再用「定位条件 → 空值」补全。
- 公式单元格:如果姓名是用公式算出来的,而文件没被 Excel 保存过,公式没有缓存值,读出来就是空的。先复制这一列,用「选择性粘贴 → 值」转成纯文本。
- 序号超出 1–500:这些行会被直接丢掉。若你的表里有 800 行,比 500 大的序号都进不来。
- 第一行是真人名却叫“姓名”或“序号”:第一行会被当成表头跳过。真有人叫“姓名”这种极端情况,把这一行挪到别处再导入。
顺带说明:表格中间的空行不会造成漏读,程序会直接跳过它,不影响后面的数据,也不会在编号里留下空洞。
超过 500 人的部分被忽略
当前版本单场最多支持 500 人参与,这个上限是固定的——「人员管理」里的「抽奖总人数」只能在 1–500 之间调整,改不出 500 以上。如果你导入的名单有 800 行,序号大于 500 的行会被跳过。
遇到这种情况有两个选择:
- 把名单拆成两场,分别抽奖
- 只把参与本轮奖项的人放进名单
姓名前后有多余空格
表现为抽奖时名字显示成“张伟 ”。解决办法:在 Excel 里用 TRIM() 函数处理一列,再粘贴回原位。
导入之后先做一次校验
别急着开始抽奖。导入完成后建议做三件事:
- 看「人员管理」里的总人数和 Excel 行数是否一致
- 随机翻看前几页和后几页,确认没有整列读错
- 先试抽一次确认流程正常,然后重置全部再开始正式环节
中奖结果怎么导出
抽奖结束后点右上角的「📥 导出中奖」,会导出一份 Excel:每个中奖者一行,四列分别是轮次、中奖序号、姓名、获得奖项。建议导出后立刻另存一份到 U 盘或发到工作群,不要只留在抽奖用的那台电脑上。
想留档张贴,用「🖼️ 生成战报」可以直接生成一张中奖海报图片(PNG),比 Excel 更适合投到大屏或发群里。