MATLAB Answers

Is there a way in MATLAB coder to get a user to identify an Excel file, then read the contents of that Excel file?

2 views (last 30 days)
Joseph
Joseph on 23 May 2017
Answered: Walter Roberson on 23 May 2017
I am trying to use MATLAB Coder to package a program that reads inputs from an excel file, does a calculation, plots results, and writes outputs to Excel. The problem I am running into is I can't use xlsread, xlswrite, or actxserver. The user also needs to identify which Excel file to read in and I can't use uigetfile either.

Accepted Answer

Walter Roberson
Walter Roberson on 23 May 2017
You cannot use xlsread() or xlswrite() in MATLAB Coder.
You can place calls to third-party libraries that can read the kind of Excel worksheets that you need. .xlsx files are Open Standard so it is easier to get patent-free code if you only need to handle .xlsx and not .xls.
One of the available libraries is LibreOffice, which forked OpenOffice after Sun was purchased by Oracle.
"The user also needs to identify which Excel file to read in and I can't use uigetfile either."
fread() can be used directly, but not fscanf() or sscanf(). But you can use coder.ceval() to fscanf(); see https://www.mathworks.com/matlabcentral/answers/165502-stand-alone-c-file#answer_161338

More Answers (0)

Community Treasure Hunt

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

Start Hunting!