readtable doesn`t work as prior version (2018b vs 2023a)

27 views (last 30 days)
readtable function @2018b can read blank and numbers as text.
but @2023a cannot read like @2018b
Matlab says "you can use 'T = readtable(filename,'Format','auto')'.", but it doesn`t work at all.
Is there any other way to use readtable function @2023a like 2018b??
Para_A = readtable(app.FileEditField.Value,'sheet', 'A'); # @2018b
Para_A = readtable(app.FileEditField.Value,'sheet', 'A', 'Format', 'auto'); # @2023a --> does not work.

Accepted Answer

Walter Roberson
Walter Roberson on 28 Mar 2023
Use detectImportOptions to create an options structure. Use setvartype() on the structure to set the column to be either char or string. Now readtable passing in the options structure
  2 Comments
동철
동철 on 28 Mar 2023
Thank you for reply!
I did use 'opts' by detectImportOptions and setvartype, but then readtable didn`t work.
opts = detectImportOptions(A.xlsx, 'sheet', 'Constant','VariableNamesRange',1,'DataRange', 'A2'); % passed
opts = setvartype(opts,{'Type','Name','Unit','Description'},'string'); % passed
Tab_Param = readtable(A.xlsx,opts); % error occured
Or, is there any way to use just like 2018b? (Matlab just recommend use below phrase.)
T = readtable(filename,'Format','auto') % error occured ("Cannot open spreadsheet")
Walter Roberson
Walter Roberson on 28 Mar 2023
filename = "A.xlsx";
opts = detectImportOptions(filename, 'sheet', 'Constant','VariableNamesRange',1,'DataRange', 'A2');
opts = setvartype(opts,{'Type','Name','Unit','Description'},'string');
Tab_Param = readtable(filename,opts);

Sign in to comment.

More Answers (0)

Products


Release

R2023a

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!