yao/excel/doc.yml
Max efc84fbb97 feat(doc): add yao doc CLI commands and YAML documentation for all packages
Implement yao doc process list/inspect/validate and yao doc runtime
list/inspect/validate commands. Validate uses engine addressing logic
(process.Of) and checks dynamic-ID group registries (model, store, fs,
task, schedule) to verify resources actually exist.

- cmd/doc/: CLI command tree with process and runtime subcommands
- cmd/root.go: wire docCmd into rootCmd
- 27 process doc.yml + doc.go pairs across yao packages
- cmd/doc/doc_test.go: integration tests

Made-with: Cursor
2026-04-23 21:37:43 +08:00

678 lines
16 KiB
YAML

group: excel
type: process
entries:
# File operations
- name: open
desc: Open an Excel file and return a handle for subsequent operations
args:
- name: file
type: string
required: true
desc: File path relative to the data directory
- name: writable
type: bool
required: false
desc: "Whether to open in writable mode (default: false)"
return:
type: string
desc: Handle string for referencing the opened file
- name: close
desc: Close an opened Excel file and release resources
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
return:
type: "null"
desc: Returns null on success
- name: save
desc: Save the current state of an opened Excel file to disk
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
return:
type: "null"
desc: Returns null on success
- name: sheets
desc: Get the list of sheet names in an Excel file
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
return:
type: array
desc: Array of sheet name strings
# Sheet operations
- name: sheet.create
desc: Create a new sheet in an Excel file
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Name for the new sheet
return:
type: number
desc: Index of the created sheet
- name: sheet.read
desc: Read all data from a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name
return:
type: array
desc: 2D array of sheet data
- name: sheet.update
desc: Update a sheet with new data (overwrites existing content)
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name
- name: data
type: array
required: true
desc: 2D array of data to write
return:
type: "null"
desc: Returns null on success
- name: sheet.delete
desc: Delete a sheet from an Excel file
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name to delete
return:
type: "null"
desc: Returns null on success
- name: sheet.copy
desc: Copy a sheet to a new sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: source
type: string
required: true
desc: Source sheet name
- name: target
type: string
required: true
desc: Target sheet name
return:
type: "null"
desc: Returns null on success
- name: sheet.list
desc: List all sheets with their metadata
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
return:
type: array
desc: Array of sheet information objects
- name: sheet.exists
desc: Check if a sheet exists in an Excel file
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name to check
return:
type: bool
desc: True if the sheet exists
- name: sheet.rows
desc: Read a range of rows from a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name
- name: start
type: number
required: true
desc: Start row index (0-based)
- name: size
type: number
required: true
desc: Number of rows to read
return:
type: array
desc: 2D array of row data
- name: sheet.dimension
desc: Get the dimensions (rows and columns count) of a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: name
type: string
required: true
desc: Sheet name
return:
type: object
desc: "Object with rows and cols counts (e.g. {rows: 100, cols: 10})"
# Read operations
- name: read.cell
desc: Read the value of a single cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\", \"B2\")"
return:
type: string
desc: Cell value as string
- name: read.row
desc: Read all rows from a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
return:
type: array
desc: 2D array of all row data
- name: read.column
desc: Read all columns from a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
return:
type: array
desc: 2D array of column data
# Write operations
- name: write.cell
desc: Write a value to a single cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\")"
- name: value
type: any
required: true
desc: Value to write
return:
type: "null"
desc: Returns null on success
- name: write.row
desc: Write values to a row starting from a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Starting cell reference (e.g. \"A1\")"
- name: values
type: array
required: true
desc: Array of values to write across the row
return:
type: "null"
desc: Returns null on success
- name: write.column
desc: Write values to a column starting from a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Starting cell reference (e.g. \"A1\")"
- name: values
type: array
required: true
desc: Array of values to write down the column
return:
type: "null"
desc: Returns null on success
- name: write.all
desc: Write a 2D array of data starting from a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Starting cell reference (e.g. \"A1\")"
- name: values
type: array
required: true
desc: 2D array of values (array of row arrays)
return:
type: "null"
desc: Returns null on success
# Style & formatting
- name: set.style
desc: Apply a style to a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\")"
- name: styleID
type: number
required: true
desc: Style ID to apply
return:
type: "null"
desc: Returns null on success
- name: set.formula
desc: Set a formula for a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\")"
- name: formula
type: string
required: true
desc: "Excel formula string (e.g. \"=SUM(A1:A10)\")"
return:
type: "null"
desc: Returns null on success
- name: set.link
desc: Set a hyperlink for a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\")"
- name: link
type: string
required: true
desc: Hyperlink URL
- name: text
type: string
required: true
desc: Link type or display text
return:
type: "null"
desc: Returns null on success
- name: set.richtext
desc: Set rich text content for a cell
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\")"
- name: richText
type: array
required: true
desc: "Array of rich text run objects: [{text: \"...\"}]"
return:
type: "null"
desc: Returns null on success
- name: set.comment
desc: Set a comment on a sheet
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: comment
type: object
required: true
desc: Comment data object
return:
type: "null"
desc: Returns null on success
- name: set.rowheight
desc: Set the height of a row
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: row
type: number
required: true
desc: Row number (1-based)
- name: height
type: number
required: true
desc: Row height in points
return:
type: "null"
desc: Returns null on success
- name: set.columnwidth
desc: Set the width of columns in a range
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: startCol
type: string
required: true
desc: "Start column letter (e.g. \"A\")"
- name: endCol
type: string
required: true
desc: "End column letter (e.g. \"D\")"
- name: width
type: number
required: true
desc: Column width
return:
type: "null"
desc: Returns null on success
- name: set.mergecell
desc: Merge a range of cells
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: start
type: string
required: true
desc: "Top-left cell reference (e.g. \"A1\")"
- name: end
type: string
required: true
desc: "Bottom-right cell reference (e.g. \"D4\")"
return:
type: "null"
desc: Returns null on success
- name: set.unmergecell
desc: Unmerge a range of cells
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
- name: start
type: string
required: true
desc: "Top-left cell reference (e.g. \"A1\")"
- name: end
type: string
required: true
desc: "Bottom-right cell reference (e.g. \"D4\")"
return:
type: "null"
desc: Returns null on success
# Iterator operations
- name: each.openrow
desc: Open a row iterator for streaming row-by-row reading
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
return:
type: string
desc: Iterator ID for use with nextrow/closerow
- name: each.closerow
desc: Close a row iterator and release resources
args:
- name: id
type: string
required: true
desc: Iterator ID from each.openrow
return:
type: "null"
desc: Returns null
- name: each.nextrow
desc: Get the next row from the iterator; returns null when exhausted
args:
- name: id
type: string
required: true
desc: Iterator ID from each.openrow
return:
type: array
desc: Array of cell values for the row, or null if no more rows
- name: each.opencolumn
desc: Open a column iterator for streaming column-by-column reading
args:
- name: handle
type: string
required: true
desc: File handle from excel.open
- name: sheet
type: string
required: true
desc: Sheet name
return:
type: string
desc: Iterator ID for use with nextcolumn/closecolumn
- name: each.closecolumn
desc: Close a column iterator and release resources
args:
- name: id
type: string
required: true
desc: Iterator ID from each.opencolumn
return:
type: "null"
desc: Returns null
- name: each.nextcolumn
desc: Get the next column from the iterator; returns null when exhausted
args:
- name: id
type: string
required: true
desc: Iterator ID from each.opencolumn
return:
type: array
desc: Array of cell values for the column, or null if no more columns
# Conversion utilities
- name: convert.columnnametonumber
desc: "Convert a column letter name to a number (e.g. \"A\" -> 1, \"Z\" -> 26)"
args:
- name: name
type: string
required: true
desc: "Column letter name (e.g. \"A\", \"AB\")"
return:
type: number
desc: Column number (1-based)
- name: convert.columnnumbertoname
desc: "Convert a column number to a letter name (e.g. 1 -> \"A\", 26 -> \"Z\")"
args:
- name: number
type: number
required: true
desc: Column number (1-based)
return:
type: string
desc: Column letter name
- name: convert.cellnametocoordinates
desc: "Convert a cell name to column and row coordinates (e.g. \"B3\" -> [2, 3])"
args:
- name: cell
type: string
required: true
desc: "Cell reference (e.g. \"A1\", \"B3\")"
return:
type: array
desc: "[column, row] coordinates (1-based)"
- name: convert.coordinatestocellname
desc: "Convert column and row coordinates to a cell name (e.g. 2, 3 -> \"B3\")"
args:
- name: col
type: number
required: true
desc: Column number (1-based)
- name: row
type: number
required: true
desc: Row number (1-based)
return:
type: string
desc: "Cell reference string (e.g. \"B3\")"