# XLSX 反透视规范化

将宽表（多列月份）反透视为长表（month/value）以便入库

> 标准页面: https://elysiatools.com/zh/tools/xlsx-unpivot-normalizer

- **分类:** Format Conversion

- **关键词:** xlsx, excel, unpivot, normalize, wide table, long table, etl, database

## 概述

保留 ID 列，将指标列折叠为 key/value 结构。

## 输入项

- **Excel 文件** (file)
- **工作表名** (text): Sheet1
- **表头行** (number)
- **ID 列** (text): product_id,region
- **值列** (text): Jan,Feb,Mar
- **键列名** (text)
- **值列名** (text)
- **输出模式** (select)
- **去除空值** (checkbox)
- **解析数值** (checkbox)

## 适用场景

- 当 Excel 表格中存在多列同类数据（如 Jan, Feb, Mar 月销售额），需要统一为一列时。
- 当需要为数据库、BI 工具或机器学习模型准备结构化数据时。
- 当需要对跨多列的数值进行统一的汇总、筛选或可视化分析时。

## 工作原理

- 上传包含宽表数据的 Excel 文件（.xlsx 或 .xls）。
- 指定需要保留的 ID 列（如产品ID、地区），以及需要转换的值列（如各月份列）。
- 设置转换后键列（如 month）和值列（如 value）的名称。
- 选择输出格式（XLSX 或 JSON），工具将自动完成反透视并生成规范化后的文件。

## 使用案例

- 将按月分列的销售报表转换为时间序列格式，便于制作趋势图表。
- 规范化从不同系统导出的、列结构不一致的宽表数据，统一后导入数据仓库。
- 为需要长格式输入的数据分析工具（如某些统计软件或可视化库）准备数据。

## 常见问题

### 支持哪些 Excel 文件格式？

支持 .xlsx 和 .xls 格式。

### 如何处理值列中的空单元格？

默认会去除空值行。您可以在选项中取消勾选“去除空值”来保留它们。

### 可以自定义转换后的列名吗？

可以。通过“键列名”和“值列名”选项，您可以自定义输出表格中 key 和 value 列的标题。

### 输出文件有哪些格式可选？

支持输出为 XLSX 格式或 JSON 格式，您可以在“输出模式”中选择。

### 是否支持转换多个工作表？

每次操作处理一个指定的工作表。您可以通过“工作表名”选项指定要转换的工作表名称。

## 相关工具

- [XLSX 图表嵌入器](https://elysiatools.com/zh/tools/xlsx-chart-embedder): 从工作簿数据区域生成柱状图/饼图图片并嵌入 Excel 工作表
- [XLSX HTML 表格预览](https://elysiatools.com/zh/tools/xlsx-html-table-preview): 将 Excel 渲染为 HTML 表格用于网页预览，保留合并单元格与基础背景色
- [XLSX Markdown 表格导出器](https://elysiatools.com/zh/tools/xlsx-markdown-table-exporter): 将选中区域或整个 Sheet 转为 Markdown 表格格式
- [XLSX SQL 插入语句生成器](https://elysiatools.com/zh/tools/xlsx-sql-insert-generator): 读取 Excel 表头与数据，生成 SQL INSERT 语句
- [XLSX Parquet 导出器](https://elysiatools.com/zh/tools/xlsx-parquet-exporter): 将表格导出为 Parquet/NDJSON，用于大数据与数据仓库管道
- [XLSX 区域提取器](https://elysiatools.com/zh/tools/xlsx-range-extractor): 提取指定工作表/区域/命名区域为 JSON，可保留坐标或转对象
- [XLSX 迷你图注入器](https://elysiatools.com/zh/tools/xlsx-sparkline-injector): 通过修改工作表 XML 向 Excel 单元格中插入 Sparkline 迷你图
- [XLSX 工作簿合并器](https://elysiatools.com/zh/tools/xlsx-workbook-merger): 将多个结构相同的 Excel 合并为一个文件（多 Sheet 或追加行）

## 示例

- [XLSX 样本](https://elysiatools.com/zh/samples/xlsx-samples): 用于工作表解析与数据提取测试的 XLSX 样本
- [XLS 样本](https://elysiatools.com/zh/samples/xls-samples): 用于二进制表格解析与导入测试的旧版 Excel (XLS) 表格样本
- [Nginx 日志解析示例](https://elysiatools.com/zh/samples/nginx-log-samples): 用于测试 log-parser 工具的综合 Nginx 日志样本，包括访问日志和错误日志的各种格式和场景
- [Android Java 序列化示例](https://elysiatools.com/zh/samples/android-serialization-java): Android Java 序列化示例，包括JSON序列化、反序列化和XML解析

## 相关内容

- [XLSX 多来源 ETL 导入与数仓交付](https://elysiatools.com/zh/hubs/xlsx-etl-ingestion-workflows): 把多个工作簿和 CSV 来源整理成可追溯、带 schema 依据的 SQL、Parquet 与对象存储批处理输入。
- [数据库 Schema 迁移](https://elysiatools.com/zh/hubs/database-schema-migration): 通过规范化源数据、审阅结构差异、校验关系并准备回滚资产，规划更安全的数据库迁移。
