# Excel Operations

> Excel 报表生成技能。当需要导出监测数据表、统计汇总表或多期对比表为 .xlsx 文件时加载此技能，获取数据组织规范和工具调用指引。

- Skill: `wangjiawei508/excel-operations` (Agent Skill)
- Install (CLI): `npx skillmds@latest add wangjiawei508/excel-operations`
- Raw SKILL.md: https://api.skillmd.com/api/skills/wangjiawei508/excel-operations/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Data & Analytics
- Author: wangjiawei508 (https://skillmd.com/u/wangjiawei508)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/wangjiawei508/excel-operations

---


## 适用场景

- 监测日报/周报数据附表导出
- 多测点多期次变形数据汇总表
- 基坑支撑轴力统计表
- 地下水位观测记录表
- 测斜仪深层位移数据表
- 任何需要以 Excel 格式交付给甲方或存档的结构化数据

## 可用工具

系统提供两个 Excel 导出工具，按场景选择：

### `excel_export`（通用导出）

自由定义 Sheet 结构，适用于自定义格式的数据表。

参数说明：

| 参数 | 类型 | 说明 |
|------|------|------|
| `sheets` | 数组 | 工作表列表，每个包含 name/headers/rows |
| `sheets[].name` | 字符串 | Sheet 名称，如"沉降监测"、"轴力统计" |
| `sheets[].headers` | 字符串数组 | 列标题 |
| `sheets[].rows` | 二维数组 | 数据行，元素可为字符串/数字/布尔/null |
| `sheets[].columnWidths` | 数字数组 | 可选，各列宽度（字符数） |
| `sheets[].freezeRow` | 数字 | 冻结前N行，默认1（冻结表头） |
| `title` | 字符串 | 文件名（不含扩展名） |
| `outputPath` | 字符串 | 可选，输出路径 |

### `monitoring_table_export`（监测数据快捷导出）

专为监测数据设计，直接传入测点数据即可生成带预警标识的规范化报表。

参数说明：

| 参数 | 类型 | 说明 |
|------|------|------|
| `projectName` | 字符串 | 项目名称 |
| `monitoringType` | 枚举 | settlement/displacement/axial_force/water_level/inclinometer/convergence |
| `date` | 字符串 | 报表日期 YYYY-MM-DD |
| `points` | 数组 | 测点数据列表 |
| `warningValue` | 数字 | 可选，预警值 |
| `alarmValue` | 数字 | 可选，报警值 |

## 数据组织规范

### Sheet 命名

| 场景 | 推荐名称 |
|------|---------|
| 地表沉降 | 地表沉降监测数据 |
| 桩顶位移 | 桩顶水平位移数据 |
| 深层位移 | 测斜仪深层位移 |
| 支撑轴力 | 支撑轴力监测数据 |
| 地下水位 | 地下水位观测记录 |
| 管片收敛 | 隧道收敛量测数据 |
| 数据汇总 | 监测数据汇总表 |

### 表头规范

标准监测数据表的列顺序：

```
测点编号 | 断面位置 | 初始值(mm) | 上期值(mm) | 本期值(mm) | 本期变化量(mm) | 累计变化量(mm) | 变化速率(mm/d) | 预警值(mm) | 状态
```

关键要求：
- 数值列必须注明单位（mm、kN、m 等）
- 变化量保留小数点后1位
- 速率保留小数点后2位
- 超限数据在"状态"列标注"⚠️预警"或"🔴报警"

### 多期数据对比表

当需要展示多期次数据变化时，按以下结构组织：

```
测点编号 | 第1期(日期) | 第2期(日期) | ... | 第N期(日期) | 累计变化量 | 状态
```

## 典型调用示例

### 沉降监测日报数据表

```
调用 excel_export，传入：
sheets: [{
  name: "地表沉降监测数据",
  headers: ["测点编号", "里程桩号", "初始值(mm)", "上期值(mm)", "本期值(mm)", "本期变化量(mm)", "累计变化量(mm)", "变化速率(mm/d)", "预警值(mm)", "状态"],
  rows: [具体数据行],
  freezeRow: 1
}]
title: "XX项目-沉降监测数据-20250301"
```

### 多项目汇总（多 Sheet）

```
调用 excel_export，传入多个 sheet：
sheets: [
  { name: "沉降监测", headers: [...], rows: [...] },
  { name: "位移监测", headers: [...], rows: [...] },
  { name: "轴力监测", headers: [...], rows: [...] },
  { name: "汇总统计", headers: [...], rows: [...] }
]
title: "XX项目-监测数据周报-第12周"
```

## 注意事项

- 数据量大于 50 行时，优先使用 `excel_export` 而非在 Markdown 中写大表格
- 报告正文（Word）中只放摘要表（关键测点、最大值、超限点），完整数据以 Excel 附件形式交付
- `monitoring_table_export` 会自动根据预警值/报警值标注状态，优先使用
- Excel 文件默认输出到当前工作目录
- 工具生成的 .xlsx 文件兼容 WPS Office 和 Microsoft Excel

