RunMat
GitHub

spreadsheetImportOptions — Create spreadsheet import options structs for readtable.

opts = spreadsheetImportOptions(...) returns an editable import-options struct accepted by readtable for spreadsheet files. The struct supports MATLAB-style dot assignment before import, including data ranges, sheet selection, variable names, and variable types.

Syntax

opts = spreadsheetImportOptions()
opts = spreadsheetImportOptions(nameValuePairs...)

Inputs

NameTypeRequiredDefaultDescription
nameValuePairsAnyVariadicName-value option pairs.

Returns

NameTypeDescription
optsAnySpreadsheet import options struct.

Errors

IdentifierWhenMessage
RunMat:table:InvalidArgumentArguments or table metadata are invalid.table: invalid argument
RunMat:table:InvalidIndexTable indexing is invalid.table: invalid index
RunMat:table:InvalidVariableA table variable name or value is invalid.table: invalid variable

How spreadsheetImportOptions works

  • Accepts name-value options including 'NumVariables', 'VariableNames', 'VariableTypes', 'DataRange', 'Range', 'Sheet', 'ReadVariableNames', 'ReadRowNames', 'TreatAsMissing', 'VariableNamingRule', 'TextType', 'DatetimeType', and 'EmptyLineRule'.
  • 'NumVariables' creates default Var1, Var2, ... names and auto variable types; edited VariableNames and VariableTypes are validated against that count.
  • DataRange is treated as the spreadsheet cell range for readtable, matching the common MATLAB workflow opts.DataRange = 'C2:C37'.
  • VariableTypes entries guide import coercion for double, single, uint8, uint16, logical, string, char, cellstr, datetime, and duration columns.
  • Requests for table column classes that RunMat cannot represent yet, including categorical and signed integer array imports, raise explicit errors instead of silently returning a different class.
  • Default options do not force a zero-column import; readtable infers the column count unless a positive NumVariables is supplied.
  • Invalid option names, malformed ranges, unsupported sheets, and unparseable typed values raise descriptive readtable errors instead of silently changing the schema.

GPU memory and residency

No GPU work is performed. Options are host metadata, and later readtable imports create host table variables.

Examples

Import A Spreadsheet Column With An Options Struct

opts = spreadsheetImportOptions('NumVariables', 1);
opts.DataRange = 'C2:C37';
opts.VariableNames = {'Amount'};
opts.VariableTypes = {'double'};
T = readtable('data.xlsx', opts)

Select A Worksheet And Preserve Variable Names

opts = spreadsheetImportOptions('Sheet', 'Data', 'VariableNamingRule', 'preserve');
T = readtable('workbook.xlsx', opts)

Using spreadsheetImportOptions with coding agents

Open a RunMat example with live inputs, then ask the agent to explain how spreadsheetImportOptions changes the result.

Run a small spreadsheetImportOptions example, explain the result, then change one input and compare the output.

FAQ

Is the returned value an object?

RunMat represents import options as a scalar struct so MATLAB-style field assignment works naturally and readtable can consume the same value directly.

What happens if VariableTypes asks for a type that cannot parse a column?

readtable raises a typed import error for the offending non-missing value. It does not fall back to a string column when the schema explicitly requested another type.

Can I use the options with text files?

The constructor is spreadsheet-focused, but the struct fields that also apply to text imports are parsed by readtable; spreadsheet-only fields such as Sheet remain valid only for spreadsheet files.

Open-source implementation

Unlike proprietary runtimes, every RunMat function is open-source. Read exactly how spreadsheetImportOptions is executed, line by line, in Rust.

About RunMat

RunMat is an open-source runtime that executes MATLAB-syntax code blazing on any GPU. It is licensed under the Apache 2.0 license.

  • RunMat automatically optimizes your math for GPU execution on Apple, Nvidia, and AMD hardware. No code changes needed. Simulations that took hours now take minutes.
  • Start running code in seconds. RunMat runs in the browser, on the desktop, or from the CLI. No license server, no IT ticket.

Getting started · Benchmarks · Pricing

Download RunMat

Download RunMat for full performance, or use RunMat in your browser for zero setup.