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.

18 ビュー (過去 30 日間)
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 件のコメント
Cris LaPierre
Cris LaPierre 2023 年 5 月 5 日
Just a side note of the message you will see at the top of the xlswrite documentation page:
xlswrite is not recommended. Use writetable, writematrix, or writecell instead. For more information, see Compatibility Considerations.
Chanille
Chanille 2023 年 5 月 5 日
@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.

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

採用された回答

Fangjun Jiang
Fangjun Jiang 2023 年 5 月 5 日
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 件のコメント
Chanille
Chanille 2023 年 5 月 8 日
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

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

その他の回答 (0 件)

カテゴリ

Help Center および File ExchangeSpreadsheets についてさらに検索

Community Treasure Hunt

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

Start Hunting!

Translated by