# 座位布局导出功能说明 ## 功能概述 在座位布局弹窗中新增了"导出"按钮,可以将座位布局导出为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等软件中打开和编辑