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

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.

 採用された回答

Walter Roberson
Walter Roberson 2023 年 3 月 28 日

1 投票

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 件のコメント

동철
동철 2023 年 3 月 28 日
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 2023 年 3 月 28 日
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);

サインインしてコメントする。

その他の回答 (0 件)

製品

リリース

R2023a

Community Treasure Hunt

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

Start Hunting!

Translated by