Skip to content
Automation
Skill

/wps-data-faker

模拟数据生成。需要测试数据?一键生成逼真的中国式假数据:张伟、138xxxx1234、 身份证号(含校验位)、北京市朝阳区xx路。填充模板、测试系统、做演示文档都好用。 用于帮助用户生成测试数据。当用户提到测试数据、假数据、模拟数据时触发。 Generates realistic Chinese test data - names, phones, IDs, addresses.

From plugin
bwkyd-wps-skills
842 skills
Install
$ npx -y skills add Bwkyd/wps-skills --skill wps-data-faker --agent claude-code

How it fires

How this skill gets triggered: by you, by Claude, or both.

  • Fires itselfAuto-invocation. Claude auto-loads it when your prompt matches the work.Auto-invocation is when the right skill fires by itself at the right moment, driven by a FLOW.md router and a hook, instead of you invoking it by name. It is the difference between a skill being installed and a skill actually getting used.Read the full definition →
  • You can call itInvoke it directly when you want it.
  • Slash command/wps-data-faker

Context preview

The summary Claude sees to decide when to auto-load this skill.

模拟数据生成。需要测试数据?一键生成逼真的中国式假数据:张伟、138xxxx1234、 身份证号(含校验位)、北京市朝阳区xx路。填充模板、测试系统、做演示文档都好用。 用于帮助用户生成测试数据。当用户提到测试数据、假数据、模拟数据时触发。 Generates realistic Chinese test data - names, phones, IDs, addresses.

SKILL.md

wps-data-faker.SKILL.md
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

测试数据生成器

指定字段 → 生成逼真的中国式测试数据。填充模板、测试系统的利器。

> 再也不用手动编造"张三李四王五"了。

When to Use

  • 需要测试数据填充Excel/表格
  • 文档模板需要示例数据
  • 系统测试需要批量数据
  • 演示文档需要逼真样例
  • 用户说"帮我造点测试数据""生成假数据"

When NOT to Use

  • 真实数据清洗 → 使用 `wps-data-clean`
  • 数据分析 → 使用 `wps-pivot`

支持的字段类型

| 字段 | 示例 | 说明 | |------|------|------| | 姓名 | 张伟、李芳 | 常见姓+名组合 | | 性别 | 男、女 | 与姓名匹配 | | 年龄 | 25-55 | 可指定范围 | | 手机号 | 138xxxx1234 | 合规号段 | | 身份证号 | 110105199001011234 | 含校验位 | | 邮箱 | zhangwei@qq.com | 常见邮箱后缀 | | 地址 | 北京市朝阳区xx路xx号 | 真实地名 | | 公司名 | XX科技有限公司 | 行业+类型组合 | | 部门 | 技术部、销售部 | 常见部门 | | 职位 | 经理、工程师 | 与部门匹配 | | 日期 | 2025-01-15 | 可指定范围 | | 金额 | 1,234.56 | 可指定范围 | | 工号 | EMP001 | 自定义前缀 |

工作流程

Step 1: 确认数据需求

  • 需要哪些字段
  • 生成多少条
  • 输出格式(Excel/CSV)
  • 特殊约束(如年龄范围、地区限定)

Step 2: 生成数据

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.c
Read more
Ships withbwkyd-wps-skills

42 个 WPS Office 办公自动化 Claude Code Skills 集合 一句话指令,让 Claude 帮你自动生成 Word / Excel / PPT / PDF 文档。

Get the whole plugin

Other skills on bwkyd-wps-skills.

wps-attendance
Skill

wps-attendance

考勤打卡统计。把考勤机导出的打卡数据丢进来,自动统计每个人的 迟到、早退、缺勤、加班时长,生成月度考勤汇总表,异常考勤自动标红。 用于帮助HR处理考勤数据。当用户提到考勤、打卡、迟到、加班统计时触发。 Attendance tracker - generates summary reports from…

wps-batch-convert
Skill

wps-batch-convert

文档批量格式转换。把一个文件夹里的Word全转文本、Excel全导出CSV、 Markdown转Word,支持docx/txt/xlsx/csv/md等格式批量互转,一次搞定。 用于帮助用户批量转换文档格式。当用户提到批量转换、格式转换、导出时触发。 Batch converts documents between…

wps-budget
Skill

wps-budget

预算表一键生成。部门年度预算、项目预算、活动经费预算,选个模板填数字就行, 小计合计公式自动写好,还有预算vs实际对比和执行率自动计算。 用于帮助财务和行政制作预算表。当用户提到预算、费用表、经费时触发。 Budget spreadsheet generator with formulas and variance…

wps-certificate
Skill

wps-certificate

证书奖状批量生成。给一份名单,批量生成荣誉证书、结业证书、聘书、感谢信, 每人一份独立文件,年终评优、培训结业、表彰活动必备工具。 用于帮助用户批量生成证书。当用户提到证书、奖状、聘书时触发。 Batch certificate/award generator from a list of recipients.

wps-chart
Skill

wps-chart

数据图表一键生成。不知道数据该用什么图表?告诉我你的数据和目的, 自动推荐最佳图表类型并生成,柱状图折线图饼图散点图都支持,还帮你调配色。 用于帮助用户制作数据可视化图表。当用户提到图表、柱状图、折线图、饼图时触发。 Chart generator - recommends best chart type and…

wps-cn-calendar
Skill

wps-cn-calendar

日历排班值班表。生成带法定节假日和调休标注的月度/年度日历表, 还能做三班倒/两班倒排班表和节假日值班安排,颜色区分不同班次一目了然。 用于帮助用户生成日历和排班表。当用户提到日历、排班、值班、节假日时触发。 Chinese calendar with holidays, shift scheduling, and…