Overview

Excel tools provide comprehensive functionality for working with Excel files (.xlsx). You can read data, update cells, retrieve specific rows, and manipulate Excel files from URLs.

Key Features

  • EXCEL_GET_ROWS
    • Retrieve multiple rows from an Excel sheet
  • EXCEL_GET_ROW
    • Get a specific row from an Excel sheet
  • EXCEL_GET_CELL_WITH_COORDINATE
    • Get value from a specific cell coordinate
  • EXCEL_UPDATE
    • Update Excel file with new data using range selection
  • EXCEL_UPDATE_BY_COORDINATE
    • Update specific cells using coordinate-based positioning

Authentication

No authentication required. Excel tools work directly with file URLs.

Example: Reading Excel Data

- id: get_excel_rows
  name: get_excel_rows
  tool: EXCEL_GET_ROWS
  input:
    - name: url
      value: "https://example.com/data.xlsx"
    - name: sheetName
      value: "Sheet1"
    - name: startRow
      value: 2
    - name: endRow
      value: 10

- id: get_specific_row
  name: get_specific_row
  tool: EXCEL_GET_ROW
  input:
    - name: url
      value: "https://example.com/data.xlsx"
    - name: sheetName
      value: "Sheet1"
    - name: rowIndex
      value: 5

- id: get_cell_value
  name: get_cell_value
  tool: EXCEL_GET_CELL_WITH_COORDINATE
  input:
    - name: url
      value: "https://example.com/data.xlsx"
    - name: sheetName
      value: "Sheet1"
    - name: coordinate
      value: "B5"

Example: Updating Excel Data

- id: update_excel_range
  name: update_excel_range
  tool: EXCEL_UPDATE
  input:
    - name: url
      value: "https://example.com/template.xlsx"
    - name: sheetName
      value: "Data"
    - name: startCell
      value: "A2"
    - name: endCell
      value: "C4"
    - name: data
      value: [
        ["John Doe", "Manager", "50000"],
        ["Jane Smith", "Developer", "60000"],
        ["Bob Johnson", "Designer", "45000"]
      ]

- id: update_specific_cell
  name: update_specific_cell
  tool: EXCEL_UPDATE_BY_COORDINATE
  input:
    - name: url
      value: "https://example.com/report.xlsx"
    - name: sheetName
      value: "Summary"
    - name: coordinate
      value: "E10"
    - name: value
      value: "{{steps.calculate_total.result.sum}}"

Example: Excel Data Processing Workflow

- id: read_source_data
  name: read_source_data
  tool: EXCEL_GET_ROWS
  input:
    - name: url
      value: "{{secrets.EXCEL_SOURCE_URL}}"
    - name: sheetName
      value: "RawData"
    - name: startRow
      value: 2
    - name: endRow
      value: 100

- id: process_data
  name: process_data
  tool: PYTHON_SANDBOX_RUN
  input:
    - name: script
      value: |
        import json
        
        # Get data from previous step
        raw_data = {{steps.read_source_data.result.data}}
        
        # Process and transform data
        processed_data = []
        for row in raw_data:
            if row[0] and row[1]:  # Check if name and value exist
                processed_data.append([
                    row[0].upper(),  # Uppercase name
                    float(row[1]) * 1.1,  # Increase value by 10%
                    "Processed"
                ])
        
        print(json.dumps({"processed_data": processed_data}))

- id: update_target_excel
  name: update_target_excel
  tool: EXCEL_UPDATE
  input:
    - name: url
      value: "{{secrets.EXCEL_TARGET_URL}}"
    - name: sheetName
      value: "ProcessedData"
    - name: startCell
      value: "A2"
    - name: data
      value: "{{steps.process_data.result.processed_data}}"

Tips and Best Practices

  • Always specify the sheet name to avoid working with the wrong sheet
  • Use coordinate notation (A1, B2, etc.) for precise cell references
  • When updating ranges, ensure your data array dimensions match the specified range
  • For large datasets, consider processing data in chunks to avoid timeouts
  • Validate data format before updating Excel files to prevent errors