why is my code not outputting to an excel file? Can someone fix this? I get Warning: Unable to write to Excel format, attempting to write file to CSV format.

10 views (last 30 days)
Hi when i load in my feature mat file it transposes them then exports to an excel file. I made an exccel file and ran the code. but the file is not exported. why? please fix this. Thanks.Here is the warning i get:
Warning: Unable to write to Excel format, attempting to write file to CSV format.
> In xlswrite (line 196)
% Load the feature mat file
load('feature6.mat');
% Initialize the output struct with empty arrays
outStruct = struct('avgSize', zeros(36,1), 'profileCounts', zeros(36,1), ...
'zoneArea', zeros(36,1), 'totalArea', zeros(36,1), ...
'AvgMinFeret', zeros(36,1), 'AvgFeret', zeros(36,1));
% Loop through each feature struct and concatenate the arrays for each field
for i = 1:3
for j = 1:12
% Concatenate the jth element of the current field from the current struct
outStruct.avgSize((i-1)*12 + j) = features(i).avgSize(j);
outStruct.profileCounts((i-1)*12 + j) = features(i).profileCounts(j);
outStruct.zoneArea((i-1)*12 + j) = features(i).zoneArea(j);
outStruct.totalArea((i-1)*12 + j) = features(i).totalArea(j);
outStruct.AvgMinFeret((i-1)*12 + j) = features(i).AvgMinFeret(j);
outStruct.AvgFeret((i-1)*12 + j) = features(i).AvgFeret(j);
end
end
% Export the output struct to an Excel file
filename = 'outStruct.xlsx';
sheetname = 'Sheet1';
range = 'A1:F36';
fieldnames = {'avgSize', 'profileCounts', 'zoneArea', 'totalArea', 'AvgMinFeret', 'AvgFeret'};
% Write field names to the first row
xlswrite(filename, fieldnames, sheetname, 'A1:F1');
% Write data to the remaining rows
xlswrite(filename, [outStruct.avgSize, outStruct.profileCounts, outStruct.zoneArea, ...
outStruct.totalArea, outStruct.AvgMinFeret, outStruct.AvgFeret], ...
sheetname, range);
  4 Comments
Chanille
Chanille on 5 May 2023
@Image Analyst Sorry about that! I have read the provided link, thanks. Also attached the mat file.
@Torsten i get: Warning: Unable to write to Excel format, attempting to write file to CSV format.
> In xlswrite (line 196)
@Cris LaPierre okay, I hope its that easy of a fix but in my previous experience it was not but thanks for the suggestion.

Sign in to comment.

Accepted Answer

Fangjun Jiang
Fangjun Jiang on 5 May 2023
In terms of xlswrite(), your code is fine. I've tried it and it creates the file. You might want to change range='A2:F37'.
Try a simple example to see if your Excel app is able to write Excel file.
xlswrite('MyExl.xlsx',magic(5));
winopen('MyExl.xlsx');
  7 Comments
Chanille
Chanille on 8 May 2023
This was in windows/dell. It did not work for me in Mac correct but on dell I got the above error when I tried to open the excel windows

Sign in to comment.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!