Saving a Table as a SpreadSheet Using a Dialog Box

16 Ansichten (letzte 30 Tage)
Forrest Ward
Forrest Ward am 20 Jul. 2020
Kommentiert: Thomas Taufan am 21 Jul. 2020
Hello, I made a GUI that takes files (from multiple formats) and creates a table out of them. The end result is this large (or sometimes small) table. I would like to put a button on the GUI that tells the user to "Save Table". From this button I would like a Dialog Box to open which then asks the user to name the table then the user selects where on their computer they would like to save it. I am only going to give them the option to save it as a '.xlsx' file extension. So, in short I need to convert my table into an Excel Spreadsheet, then save it as whatever the user types. I have looked at the function 'uiputfile' but its a little confusing and it doesn't seem to do exactly what I would like. Let me know if there is a quick fix or if this problem is too complicated. Any input helps, thanks!!

Akzeptierte Antwort

Image Analyst
Image Analyst am 20 Jul. 2020
Bearbeitet: Image Analyst am 20 Jul. 2020
Try it this way
% Get the name of the file that the user wants to save.
startingFolder = pwd % Or "c:\mydata" or wherever you want.
defaultFileName = fullfile(startingFolder, '*.xlsx');
[baseFileName, folder] = uiputfile(defaultFileName, 'Specify a file');
if baseFileName == 0
% User clicked the Cancel button.
return;
end
% Get base file name, so we can ignore whatever extension they may have typed in.
[~, baseFileNameNoExt, ext] = fileparts(baseFileName);
fullFileName = fullfile(folder, [baseFileNameNoExt, '.xlsx']) % Force an extension of .xlsx.
% Now write the table to an Excel workbook.
writetable(T, fullFileName);
  2 Kommentare
Forrest Ward
Forrest Ward am 20 Jul. 2020
Wow!! Thank you very much, that worked beautifully!

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by