- Import the file by e.g. importdata or fopen / fscanf.
- Export the data by xlswrite.
how to convert a .txt file into a .xls file in matlab?
5 views (last 30 days)
Show older comments
I suspect that I can actually read the log file data directly into Matlab without conversion. It is just a comma separated variable format(.csv), I believe, and I think it should be accessible to some Matlab input routine.
However,I dont not know the matlab input routine; It would be very helpful if someone can enlighten me on the input routine
thanks in advance, Cordelle
0 Comments
Answers (3)
Jan
on 18 Jun 2013
This is not enough information to give a more explicit answer than:
I suggest to add mire details, e.g. the file's contents by editing the original question (not as comment or answer).
2 Comments
Iain
on 18 Jun 2013
Edited: Iain
on 18 Jun 2013
That means that data is a structure containg the field "textdata", and that "textdata" contains a cell array (each element of a cell array can be a different type of number, string, or even another array).
Try:
xlswrite('myxl.xls',data.textdata)
winopen('myxl.xls')
Shashank Prasanna
on 18 Jun 2013
That means its a cell in a structure.
You can access data from structures:
and use
If you need editing in between you should do that.
If you are unfamiliar with cell and structures at all in MATLAB, I point you to
3 Comments
Shashank Prasanna
on 18 Jun 2013
Since you are new to MATLAB, try using this GUI
Jan
on 18 Jun 2013
Please do not post explanations like "I used the "Load" input routine", but the corresponding code. This will reduce misunderstandings. Thanks.
Harish TV
on 17 Mar 2017
clear; clear all; fileip='filename.csv'; g=char(fileip); g=g(1:end-4) fileop=horzcat(g,'.xlsx') g=fileip(1:end-4); [~,~,F]=xlsread(fileip); F=cellstr(F); %delete the header rows (4 rows) F([1:4],:)=[]; for a=1:size(F,1); b=F(a,1); c=char(b); D(a,:)=strsplit(c,','); end xlswrite(fileop,D); disp(['--------------Process complete---------------------']);
1 Comment
Guillaume
on 17 Mar 2017
There's a {}Format button to format code as such. That would make your post more readable.
g = char(fileip);
is a no-op. fileip is already char. In any case,
[path, basename] = fileparts(fileip);
fileop = fullfile(path, [basename, '.xlsx']);
would be a lot simple and safer.
F = cellstr(F);
is also a no-op. F is already a cell array. Same for
c = char(b); %b is already char.
In any case, the code is not going to work. It only writes the first column of the csv file. (hint: xlsread already does the splitting at the comma)
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!