README.md 2.9 KB

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)