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
2023 年 5 月 5 日
xlswrite is not recommended. Use writetable, writematrix, or writecell instead. For more information, see Compatibility Considerations.
採用された回答
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');
その他の回答 (0 件)
参考
カテゴリ
Help Center および File Exchange で Spreadsheets についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!