wps-attendance
考勤打卡统计。把考勤机导出的打卡数据丢进来,自动统计每个人的 迟到、早退、缺勤、加班时长,生成月度考勤汇总表,异常考勤自动标红。 用于帮助HR处理考勤数据。当用户提到考勤、打卡、迟到、加班统计时触发。 Attendance tracker - generates summary reports from…
模拟数据生成。需要测试数据?一键生成逼真的中国式假数据:张伟、138xxxx1234、 身份证号(含校验位)、北京市朝阳区xx路。填充模板、测试系统、做演示文档都好用。 用于帮助用户生成测试数据。当用户提到测试数据、假数据、模拟数据时触发。 Generates realistic Chinese test data - names, phones, IDs, addresses.
$ npx -y skills add Bwkyd/wps-skills --skill wps-data-faker --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/wps-data-fakerContext preview
The summary Claude sees to decide when to auto-load this skill.
模拟数据生成。需要测试数据?一键生成逼真的中国式假数据:张伟、138xxxx1234、 身份证号(含校验位)、北京市朝阳区xx路。填充模板、测试系统、做演示文档都好用。 用于帮助用户生成测试数据。当用户提到测试数据、假数据、模拟数据时触发。 Generates realistic Chinese test data - names, phones, IDs, addresses.
name: wps-data-faker
description: |
模拟数据生成。需要测试数据?一键生成逼真的中国式假数据:张伟、138xxxx1234、
身份证号(含校验位)、北京市朝阳区xx路。填充模板、测试系统、做演示文档都好用。
用于帮助用户生成测试数据。当用户提到测试数据、假数据、模拟数据时触发。
Generates realistic Chinese test data - names, phones, IDs, addresses.
license: MIT
user-invocable: true
argument-hint: '[字段列表] [数量]'
allowed-tools: 'Read, Grep, Glob, Bash, Write, Edit'
metadata:
author: BWKYD
title: 模拟数据生成
description_zh: 生成中国式模拟数据,包括姓名、手机号、身份证、地址等
tags:
- 测试数据
- 模拟
- 假数据
- Excel
- WPS
version: 1.0.1
license: MIT指定字段 → 生成逼真的中国式测试数据。填充模板、测试系统的利器。
> 再也不用手动编造"张三李四王五"了。
| 字段 | 示例 | 说明 | |------|------|------| | 姓名 | 张伟、李芳 | 常见姓+名组合 | | 性别 | 男、女 | 与姓名匹配 | | 年龄 | 25-55 | 可指定范围 | | 手机号 | 138xxxx1234 | 合规号段 | | 身份证号 | 110105199001011234 | 含校验位 | | 邮箱 | zhangwei@qq.com | 常见邮箱后缀 | | 地址 | 北京市朝阳区xx路xx号 | 真实地名 | | 公司名 | XX科技有限公司 | 行业+类型组合 | | 部门 | 技术部、销售部 | 常见部门 | | 职位 | 经理、工程师 | 与部门匹配 | | 日期 | 2025-01-15 | 可指定范围 | | 金额 | 1,234.56 | 可指定范围 | | 工号 | EMP001 | 自定义前缀 |
import random
import string
from datetime import datetime, timedelta
from openpyxl import Workbook
from openpyxl.styles import Font, Alignment, PatternFill
import os
class ChineseFaker:
"""中国式测试数据生成器"""
SURNAMES = '赵钱孙李周吴郑王冯陈褚卫蒋沈韩杨朱秦尤许何吕施张孔曹严华金魏陶姜'
MALE_NAMES = ['伟', '强', '磊', '军', '勇', '杰', '涛', '明', '超', '华',
'志强', '建国', '建华', '国强', '文彬', '浩然', '宇航', '子轩']
FEMALE_NAMES = ['芳', '娜', '敏', '静', '丽', '婷', '雪', '慧', '莹', '倩',
'秀英', '玉兰', '淑芬', '美玲', '雨萱', '欣怡', '诗涵']
CITIES = ['北京市', '上海市', '广州市', '深圳市', '杭州市', '成都市',
'武汉市', '南京市', '重庆市', '西安市', '苏州市', '天津市']
DISTRICTS = ['朝阳区', '海淀区', '浦东新区', '南山区', '西湖区',
'武侯区', '江岸区', '玄武区', '渝中区', '雁塔区']
COMPANIES = ['科技', '信息', '网络', '智能', '数据', '云计算', '教育',
'医疗', '金融', '咨询']
COMPANY_SUFFIX = ['有限公司', '股份有限公司', '集团', '科技有限公司']
DEPARTMENTS = ['技术部', '销售部', '市场部', '人力资源部', '财务部',
'行政部', '产品部', '运营部', '客服部', '法务部']
POSITIONS = {
'技术部': ['高级工程师', '工程师', '架构师', '技术经理', '开发主管'],
'销售部': ['销售经理', '销售主管', '客户经理', '销售代表'],
'市场部': ['市场经理', '品牌主管', '市场专员', '策划经理'],
}
PHONE_PREFIXES = ['130','131','132','133','134','135','136','137','138',
'139','150','151','152','153','155','156','157','158',
'159','170','176','177','178','180','181','182','183',
'185','186','187','188','189']
def name(self, gender=None):
g = gender or random.choice(['男', '女'])
surname = random.choice(list(self.SURNAMES))
given = random.choice(self.MALE_NAMES if g == '男' else self.FEMALE_NAMES)
return surname + given, g
def phone(self):
return random.choice(self.PHONE_PREFIXES) + ''.join(
random.choices('0123456789', k=8))
def id_card(self, birth_year=None):
area = random.choice(['110105', '310101', '440305', '330102',
'510107', '420102', '320102', '500103'])
year = birth_year or random.randint(1970, 2000)
month = random.randint(1, 12)
day = random.randint(1, 28)
seq = f'{random.randint(1,999):03d}'
base = f'{area}{year}{month:02d}{day:02d}{seq}'
# 校验位
weights = [7,9,10,5,8,4,2,1,6,3,7,9,10,5,8,4,2]
check = '10X98765432'
s = sum(int(base[i]) * weights[i] for i in range(17))
return base + check[s % 11]
def email(self, name_pinyin=None):
prefix = name_pinyin or ''.join(random.choices(string.ascii_lowercase, k=6))
domain = random.choice(['qq.com', '163.com', '126.com',
'gmail.com', 'outlook.com', 'sina.com'])
return f'{prefix}{random.randint(1,999)}@{domain}'
def address(self):
city = random.choice(self.CITIES)
district = random.choice(self.DISTRICTS)
road = f'{"".join(random.choices(list("东西南北中和平建设人民解放"),k=2))}路'
num = random.randint(1, 200)
return f'{city}{district}{road}{num}号'
def company(self):
city = random.choice(self.CITIES).replace('市', '')
industry = random.choice(self.COMPANIES)
suffix = random.choice(self.COMPANY_SUFFIX)
return f'{city}{industry}{suffix}'
def amount(self, min_val=100, max_val=100000):
return round(random.uniform(min_val, max_val), 2)
def date(self, start='2024-01-01', end='2026-12-31'):
s = datetime.strptime(start, '%Y-%m-%d')
e = datetime.strptime(end, '%Y-%m-%d')
delta = (e - s).days
d = s + timedelta(days=random.randint(0, delta))
return d.strftime('%Y-%m-%d')
def generate_test_data(fields, count, output_path=None):
"""生成测试数据Excel"""
faker = ChineseFaker()
wb = Workbook()
ws = wb.active
ws.title = "测试数据"
# 表头
header_fill = PatternFill('solid', fgColor='2C3E50')
header_font = Font(name='微软雅黑', size=11, bold=True, color='FFFFFF')
for col, field in enumerate(fields, 1):
cell = ws.cell(row=1, column=col, value=field)
cell.font = header_font
cell.fill = header_fill
# 生成数据
for row in range(2, count + 2):
name, gender = faker.name()
for col, field in enumerate(fields, 1):
if field == '姓名':
ws.cell(row=row, column=col, value=name)
elif field == '性别':
ws.cell(row=row, column=col, value=gender)
elif field == '手机号':
ws.cell(row=row, column=col, value=faker.phone())
elif field == '身份证号':
ws.cell(row=row, column=col, value=faker.id_card())
elif field == '邮箱':
ws.c42 个 WPS Office 办公自动化 Claude Code Skills 集合 一句话指令,让 Claude 帮你自动生成 Word / Excel / PPT / PDF 文档。
Repo: Bwkyd/wps-skills
考勤打卡统计。把考勤机导出的打卡数据丢进来,自动统计每个人的 迟到、早退、缺勤、加班时长,生成月度考勤汇总表,异常考勤自动标红。 用于帮助HR处理考勤数据。当用户提到考勤、打卡、迟到、加班统计时触发。 Attendance tracker - generates summary reports from…
文档批量格式转换。把一个文件夹里的Word全转文本、Excel全导出CSV、 Markdown转Word,支持docx/txt/xlsx/csv/md等格式批量互转,一次搞定。 用于帮助用户批量转换文档格式。当用户提到批量转换、格式转换、导出时触发。 Batch converts documents between…
预算表一键生成。部门年度预算、项目预算、活动经费预算,选个模板填数字就行, 小计合计公式自动写好,还有预算vs实际对比和执行率自动计算。 用于帮助财务和行政制作预算表。当用户提到预算、费用表、经费时触发。 Budget spreadsheet generator with formulas and variance…
证书奖状批量生成。给一份名单,批量生成荣誉证书、结业证书、聘书、感谢信, 每人一份独立文件,年终评优、培训结业、表彰活动必备工具。 用于帮助用户批量生成证书。当用户提到证书、奖状、聘书时触发。 Batch certificate/award generator from a list of recipients.
数据图表一键生成。不知道数据该用什么图表?告诉我你的数据和目的, 自动推荐最佳图表类型并生成,柱状图折线图饼图散点图都支持,还帮你调配色。 用于帮助用户制作数据可视化图表。当用户提到图表、柱状图、折线图、饼图时触发。 Chart generator - recommends best chart type and…
日历排班值班表。生成带法定节假日和调休标注的月度/年度日历表, 还能做三班倒/两班倒排班表和节假日值班安排,颜色区分不同班次一目了然。 用于帮助用户生成日历和排班表。当用户提到日历、排班、值班、节假日时触发。 Chinese calendar with holidays, shift scheduling, and…