Borrar filtros
Borrar filtros

Saving a Table as a SpreadSheet Using a Dialog Box

14 visualizaciones (últimos 30 días)
Forrest Ward
Forrest Ward el 20 de Jul. de 2020
Comentada: Thomas Taufan el 21 de Jul. de 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!!

Respuesta aceptada

Image Analyst
Image Analyst el 20 de Jul. de 2020
Editada: Image Analyst el 20 de Jul. de 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.
% 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 comentarios
Forrest Ward
Forrest Ward el 20 de Jul. de 2020
Wow!! Thank you very much, that worked beautifully!

Iniciar sesión para comentar.

Más respuestas (0)

Community Treasure Hunt

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

Start Hunting!

Translated by