WORKER / WASM DEMO

跨 Sheet 的预测模型

把公式、命名区域和溢出结果作为一个模型,而不是彼此割裂的网格功能。

试试这个

  1. 查看汇总行和它依赖的输入。
  2. 修改订单数据中的一个数值。
  3. 从公式结果追溯到源 Sheet。

它是怎么做到的

公式解析、依赖追踪和计算都位于工作簿引擎。网格只是投影客户端,因此编辑和计算始终面对同一个权威工作簿。

查看源码

import type {
  WorkerWorkbookBackendSheet,
  WorkerWorkbookBackendSheetInput,
  WorkerWorkbookClient,
} from '@einfach/solid-excel/vnext'

export const formulaEngineSheets: WorkerWorkbookBackendSheetInput[] = [
  { id: 'inputs', name: 'Inputs' },
  { id: 'model', name: 'Model' },
  { id: 'summary', name: 'Summary' },
]

function text(client: WorkerWorkbookClient, sheet: number, address: string, value: string) {
  return client.setCell(sheet, address, { type: 'text', value })
}

function number(client: WorkerWorkbookClient, sheet: number, address: string, value: number) {
  return client.setCell(sheet, address, { type: 'number', value })
}

function formula(client: WorkerWorkbookClient, sheet: number, address: string, value: string) {
  return client.setFormulaDetailed(sheet, address, value)
}