# 座位布局导出功能说明

## 功能概述

在座位布局弹窗中新增了"导出"按钮，可以将座位布局导出为Excel格式文件，包含完整的布局信息和座位状态。

## 功能特点

1. **完整的布局信息**：导出包含所有座位、过道、柱子、投影等布局元素
2. **座位状态显示**：
   - **蓝色单元格**：已预订座位（显示编号、学员姓名、预订日期）
   - **绿色单元格**：空闲座位（显示编号和"空闲"标识）
   - **红色单元格**：不可选座位（显示编号和"不可选"标识）
   - **橙色单元格**：过道
   - **蓝色单元格**：投影区域
   - **灰色单元格**：柱子
   - **浅蓝色单元格**：门
3. **样式美化**：Excel文件包含颜色填充、字体样式、对齐方式等
4. **合并单元格支持**：正确导出合并的单元格

## 使用方法

1. 在教室列表页面，点击某个教室的"座位布局"按钮
2. 在座位布局弹窗的右上角，点击"导 出"按钮
3. 系统会自动生成Excel文件并下载，文件名格式：`教室名称_座位布局_日期.xlsx`

## 技术实现

### 依赖库

- `xlsx-js-style`：用于生成带样式的Excel文件
- `xlsx`：基础Excel处理库

### 安装方式

如果安装失败，可以尝试使用不同的npm源：

```bash
# 使用淘宝镜像
pnpm add xlsx-js-style --registry https://registry.npmmirror.com

# 或使用官方源
pnpm add xlsx-js-style --registry https://registry.npmjs.org
```

### 代码位置

- 导出功能实现：`apps/web-antd/src/views/classroom/list.vue`
- 导出按钮位置：座位布局弹窗顶部右侧

## 导出格式说明

### Excel结构

- **第一行**：列标题（A, B, C, D...）
- **第一列**：行号（1, 2, 3, 4...）
- **数据区域**：座位布局数据，包含颜色和样式

### 单元格内容格式

- **已预订座位**：`编号 学员姓名 预订日期`（蓝色背景）
- **空闲座位**：`编号 空闲`（绿色背景）
- **不可选座位**：`编号 不可选`（红色背景）
- **过道**：`过道`（橙色背景）
- **投影**：`投影`（蓝色背景）
- **柱子**：`柱子`（灰色背景）
- **门**：`门`（浅蓝色背景）

## 注意事项

1. 导出功能需要获取座位状态数据，如果获取失败，将只导出布局信息（不包含预订状态）
2. 合并单元格会正确导出，保持与界面一致的布局
3. Excel文件支持在Excel、WPS等软件中打开和编辑

