File Exchange

image thumbnail


version 1.0 (4.38 KB) by

Exports any type of MATLAB data to a nicely formated csv-file

7 Ratings



View License

Editor's Note: This file was selected as MATLAB Central Pick of the Week

Exports any type of MATLAB data to a nicely formated csv-file, including fieldnames of structs and any multidimensional subscript-indices.
This tool is especially useful if you want to save the content of large structs and cell-arrays to an excel or ods sheet. Any to csv works recursively until all the content of a complicated object is written to a csv-spreadsheet and opens it in the standard csv application. There you can save it to e.g. xls or ods.

Comments and Ratings (15)


Carter (view profile)


I am currently using any2csv (<>) to output my mat file as a csv.

I am getting an output with the headers as seen below.

>> Structure1
>>Field,>> Field2,>> Field3,>> Field4,>> Field5, >> NestedStruct1
Data,Data,Data,Data,Data >>Field1,>>Field2,>>Field3,>> Field4,>> Field5
I would like to output this data as one row of headers with the data pertaining to that header below it while containing the information about the structure format in the header. This can be seen in the other attached image.


I have changed the layout to this from the original version (lines 122-127)

%left right top bottom
gap_c=struct('l',0,'r',0,'t',0,'b',1); % gaps around cell elements
gap_s=struct('l',0,'r',0,'t',0,'b',0); % gaps around struct-fields
gap_n=struct('l',0,'r',0,'t',0,'b',0); % gaps around arrays
gap_t=struct('l',0,'r',0,'t',0,'b',0); % gaps around text
gap_content=struct('l',0,'t',1); % gap between titles and content. Both must be >=0, sum should be >0

As I rarely need to work with recursive functions I am having difficulty making this last change. Would you know how to change it or what I should change in the code?

Thanks in advance!

This does not work with a structure that has nested field names.

MATLAB 2012a, <1305983x3 cell>, sucked all my RAM, I ended up using instead


Hugh (view profile)

very useful

Thanks, very useful


Hi Felix,
Could you please have a look at this thread?
I am out of memory in 2009b. What could be a reason for that?

sophie neve

very useful !!
but I find the opening of excel annoying
I also got a (little) problem when creating the file, it says :
The system cannot find the file ''pathname''
normal it does not found... has not been created yet....



Very usefull work ( see comment from Steffen).


Steffen (view profile)

This is a great way to manage the workflow of your data from Matlab to any office-programm like excel or openoffice. It's handy and easy to use.

Felix Zoergiebel

I am using instead of Microsoft Office. has a very nice import function for csv files. Once the file is imported you can save as XLS. I know that those functions are available via command-line tools, however I do not remember the names and I have never used them.

Puifai S

Do you know of a way to convert from CSV to XLS quickly?

Felix Zörgiebel

Shame on me, I should have tested that case... Thanks Urs, I corrected the bug. Felix

Urs (us) Schwarz

does NOT work with empty cell entries, eg,


- display struct fields horizontally or vertically -> line 128
- display content of cell/struct fields under or right to the subscripts/fieldname -> line 127

Thanks Jiro Doke for those two ideas!

- removed empty struct bug

The empty cell bug is now finally gone.

MATLAB Release
MATLAB 7.4 (R2007a)

Download apps, toolboxes, and other File Exchange content using Add-On Explorer in MATLAB.

» Watch video