Block reference / Data

Excel

Read cells from an Excel workbook on the computer, or update, append, clear, create a workbook or add a sheet.

In both appsWarpX BrowserWarpX Phone

Use this block when your data lives in an .xlsx file rather than online: read a sheet of accounts into a run, or append each profile's results to a workbook you open later. Its actions mirror Google Sheets, on a file on this computer. Several profiles can append to one workbook at once and each gets its own row. It works only in the WarpX Browser desktop app.

The Excel block's settings, filled in as in the example below.

Settings

Action

The menu at the top of the block. Get cell values reads cells. Get the used range tells you where the data ends. Update cell values writes rows from a cell. Append rows adds rows below the data. Clear cell values empties cells. Create a workbook makes a new file. Add a sheet adds a sheet to a workbook.

ExampleAppend rows
Excel file

The whole path of the workbook. A leading ~ means your home folder. The folder button opens a file dialog. Once the path points at a real workbook, the sheet field offers its sheet names.

ExampleC:\Users\me\Documents\results.xlsx
Sheetwhen Action is not Add a sheet

The sheet to work on, by name. Empty means the first sheet. For Create a workbook, it names the new file's only sheet, Sheet1 when empty.

ExampleResults
Name of the new sheetwhen Action is Add a sheet

The name of the sheet to add. A sheet with that name already there stops the block with an error.

ExampleOctober
Rangewhen Action is Get cell values, Update cell values, Append rows or Clear cell values

Get: cells such as A1:D20, or one cell to read from it to the end, or empty for the whole sheet. Update: the cell the rows start at, A1 when empty. Append: the column rows start in; rows go below the last used row of the sheet. Clear: cells such as A2:D20, or empty for the whole sheet.

ExampleA1
Use the first row as keyswhen Action is Get cell values

On, each row becomes an object named by the header row, such as {"Email": "[email protected]", "Status": "new"}. Off, each row is a list of cells and the header is the first row.

ExampleChecked
Data fromwhen Action is Update cell values or Append rows

Where the rows to write come from. Table is the workflow's table. Variable is a variable holding a list of objects or a list of rows. Custom is JSON you write in the block.

ExampleTable
Variable namewhen Data from is Variable

The variable that holds the rows, as a bare name or {{variables.rows}}. A variable holding JSON text is read as JSON. One object on its own is not enough: put it in a list.

Examplerows
Custom datawhen Data from is Custom

The box under Data from when it is Custom: a list of rows such as [["A1", "B1"], ["A2", "B2"]], or a list of objects. References are filled in when the block runs.

Example[["{{variables.email}}", "verified"]]
Use keys as the first rowwhen Action is Update cell values

When the data is a list of objects, writes their keys as a header row above the values.

ExampleChecked
Match columns to the sheet headerwhen Action is Append rows

Puts each value under the header cell with the same name. Keys with no matching column are skipped, and an empty sheet gets the keys as its header.

ExampleChecked
Replace the file if it already existswhen Action is Create a workbook

Off, creating a workbook where a file already exists stops the block with an error. On, the old file is replaced by an empty workbook.

ExampleUnchecked
Assign to variablewhen Action is Get cell values, Get the used range or Create a workbook

Keeps the result in a variable: the rows read, the used range, or the new workbook's path.

ExampleChecked
Variable namewhen Assign to variable is ticked

The variable to write to. Read it later as {{variables.accounts}}.

Exampleaccounts
Insert to tablewhen Action is Get cell values or Get the used range

For Get cell values, it appears only with Use the first row as keys on, and puts each value in the table column named like its header. For Get the used range, it writes the result into the column you pick.

ExampleUnchecked

Every block also has the shared block settings — a description, Disable block and what to do on an error. Fields that take text accept data from earlier blocks.

What it hands on

Get cell values hands on the rows, Get the used range an object such as {"sheet": "Results", "usedRange": "A1:D41", "lastRow": 41, "lastColumn": "D", "nextRow": 42}, and Create a workbook the file's path; the next block reads them as {{prevBlockData}}. The log line says how many rows were read or written and where, such as 3 rows at A42:D44. Leaves by its single output.

Example: Append each profile's results to a workbook

  1. Start
  2. New tab
  3. Get text
  4. Excel
Where Excel sits in the example workflow.
  1. Make C:\Users\me\Documents\results.xlsx with a sheet named Results and the headers Profile, Email, Status, Checked at in row 1. Close it in Excel.
  2. In the workflow's table, add columns with the same names, and fill them during the run with Insert to table on the blocks that read them.
  3. At the end, add Excel and choose Append rows.
  4. Set Excel file to the workbook, Sheet to Results and Range to A1.
  5. Set Data from to Table and tick Match columns to the sheet header.
  6. Run the workflow on all your profiles. Each adds its rows below the last one, under the right headers.

Good to know

  • Desktop app only. In the browser extension the block is not in the list.
  • Every change saves the workbook again. Values and formulas are kept, but cell formatting such as colours, borders and column widths is not, so keep a formatted report in another file.
  • Close the workbook in Excel before a run writes to it. Excel locks a file it has open, and the block stops saying the file is open in another program.
  • Writes to one workbook happen one at a time, so profiles appending together each get a row of their own.
  • Dates are read as text such as 2026-10-08T00:00:00.000Z. Workbooks over 50 MB are refused.
  • Append rows goes below the last used row of the whole sheet, whatever column Range names.
  • With Match columns to the sheet header off, a list of objects is written with its keys in the order they first appear, and no header row.

See also

  • Google Sheets — Read rows from a Google Sheet, keep only the ones you want, or write, append and clear cells.
  • File action — Write a value to a TXT, CSV or JSON file on the computer, append to one, or delete a file.
  • Read TXT — Take lines, or pieces between a delimiter, from a TXT file into a variable, optionally deleting them from the file.
  • Loop data — Run the blocks after it once for each row, number, list item or element.