f7
f7 is a spreadsheet formula execution library
git clone https://git.vogt.world/f7.git
Log | Files | README.md | LICENSE.md
← All files
name: src/main/js/spreadsheet/Spreadsheet.ts
-rw-r--r--
979
 1import { INamedRange, NamedRange } from "./NamedRange";
 2import { ISheet, Sheet } from "./Sheet";
 3
 4export interface ISpreadsheet {
 5  /**
 6   * The named ranges defined in a spreadsheet.
 7   */
 8  names: { [name: string]: INamedRange };
 9
10  /**
11   * The sheets that are part of a spreadsheet.
12   */
13  sheets: { [name: string]: ISheet };
14}
15
16export class Spreadsheet implements ISpreadsheet {
17  names: { [name: string]: NamedRange };
18  sheets: { [name: string]: Sheet };
19
20  /**
21   * Standard constructor.
22   */
23  constructor(names: { [name: string]: NamedRange }, sheets: { [name: string]: Sheet }) {
24    this.names = names;
25    this.sheets = sheets;
26  }
27
28  /**
29   * Create an empty spreadsheet based on title and spreadsheet id.
30   */
31  static empty(): Spreadsheet {
32    return new Spreadsheet({}, {});
33  }
34
35  /**
36   * Get a Sheet by name by looking through the sheets.
37   * @param sheetName to find.
38   */
39  getSheetByName(sheetName: string) {
40    return this.sheets[sheetName];
41  }
42}