### NODE 版本推荐使用 14.9.0 ## 插件说明 lodash.js 网址 https://www.lodashjs.com/ 用+ - * / 计算会有浮点数的问题,建议使用lodash来计算 引入 import _ from 'lodash' vue-text-format 网址 https://www.npmjs.com/package/vue-text-format github访问不了,看这个例子就行 # 强烈建议不要用直接使用 cnpm 安装,会有各种诡异的 bug,可以通过重新指定 registry 来解决 npm 安装速度慢的问题。 npm install --registry=https://registry.npmmirror.com # 前端生成 Excel 订单采购报表技术文档 --- ## 1. 设计目标 - **每个订单一个 Sheet**,Sheet 名称为订单号(如 `ORD100`) - 支持中文、数字、金额格式化、公式自动计算 - 包含标题、表头、数据行、**子总计(合)**、**总计(计)** - 支持样式:合并单元格、边框、背景色、列宽 - 支持前端直接导出 `.xlsx` 文件(无需后端) --- ## 2. Excel 结构解析(基于图片样例) > **注意**:图片中的表格内容为 **样例数据**,仅用于展示结构与字段含义,**实际数据由后端 API 提供** ### 2.1 整体结构(单个 Sheet 示例) | 行号 | 内容 | 说明 | |------|------|------| | 1 | `订单采购汇总 - ORD100` | 标题,合并 A1:G1,居中,加粗 | | 3 | 表头行 | 固定列名 | | 4 | 数据行 | 订单明细(本例仅1行) | | 5 | `合` | 子总计(当前订单小计) | | 6 | `计` | 总计(若单订单则与“合”相同) | --- ### 2.2 字段定义(表头 + 数据行) | 列 | 字段名 | 数据类型 | 示例值 | 说明 | |----|--------|----------|--------|------| | A | 订单号 | 字符串 | `ORD100` | 主键,Sheet 名称来源 | | B | 项目名称 | 字符串 | `项目A` | 项目描述 | | C | 供应商 | 字符串 | `供应商1` | 供应商名称 | | D | 采购数量 | 数字 | `1570128` | 整数或浮点数 | | E | 采购单价 | 字符串 | `23.5-25.0` | 支持范围或固定值 | | F | 采购金额 | 数字 | `36928.00` | `数量 × 单价`(可公式计算) | | G | 付款金额 | 数字 | `12.4952855` | 实际支付金额 | > **公式建议**: > - F列:`=D行 * 平均单价`(需解析 E 列范围取中值) > - “合”行:`=SUM(D4:D4)`、`=SUM(F4:F4)`、`=SUM(G4:G4)` > - “计”行:同“合”(单订单)或多订单时跨行求和 --- ### 2.3 样式要求(参考图片) | 元素 | 样式 | |------|------| | 标题行(A1:G1) | 合并单元格、加粗、14号字、居中 | | 表头行 | 蓝色背景、白字、加粗 | | 数据行 | 标准字体,金额列保留2位小数 | | “合”/“计”行 | 浅黄色背景、加粗 | | 绿色高亮区域 | 可编辑输入区域(如 D5:G5) | | 红色边框 | 整表外边框(可选) | | 列宽 | 自动或固定(建议:A:15, B:20, 其余:12) | --- ## 3. 数据输入格式(前端接收的 JSON)