Export a Char String to Excel
显示 更早的评论
Greetings,
in my MATLAB Code (R2017a) i got a variable Matrix ('res') with the typ Char.
For example for one switch it looks like this (8x20):
Carreau-Parameter:
a = 7521.1446 Pa*s
b = 0.10637 s
c = 0.78114
Aktivierungsenergie:
E = 40281.5361 J
resnorm:
0.030751
The rows and columns of 'res' are variable and as you can see it is a String with variables in it. Therfore i would like to export every text and variable of a row (without the spaces) to a seperate column in exel. Here is an example for the last row:
A1 A2
__________ __
'0.030751' ''
First i build something like this and it worked for just one row:
dname = uigetdir('');
fileName = '\Kapillarrheometer.xlsx';
s = strcat(dname,fileName);
sheet=1;
res = ['Carreau-Parameter: ';'a = 7521.1446 Pa*s ']; % and so on...
[r,c] = size(res);
for i = 1:r
A=strsplit(res(i,:));
end
alltableres=array2table(A);
disp(alltableres);
writetable(alltableres,s,'Sheet',Sheet,'Range','C5','WriteVariableNames',0);
After this i tried to create a dynamik Matrix and it worked but isn't realy a good solution because of the varible size of 'res':
dname = uigetdir('');
fileName = '\Kapillarrheometer.xlsx';
s = strcat(dname,fileName);
sheet=1;
res = ['Carreau-Parameter: ';'a = 7521.1446 Pa*s ']; % and so on...
[r,c] = size(res);
%for i = 1:r
A=strsplit(res(1,:));
[Ar,Ac] = size(A);
if Ac<5
A=[A nan nan nan];
else
A=A;
end
B=strsplit(res(2,:)); % and so on...
allres=[A;B];
%end
alltableres=array2table(allres);
writetable(alltableres,s,'Sheet',Sheet,'Range','C5','WriteVariableNames',0);
disp(alltableres);
Here are the results of 'alltableres':
allres1 allres2 allres3 allres4 allres5
____________________ _______ ___________ _______ _______
'Carreau-Parameter:' '' [NaN] [ NaN] [NaN]
'a' '=' '7521.1446' 'Pa*s' ''
I tried to use the cellfun/arrayfun command but it didn't worked quite well. After one week of work i am very tired of this problem...
I am open for every help you can offer!
(This is my first post at this forum. Please tell me if i did something wrong with my inputs!)
4 个评论
dpb
2020-12-12
You posted quite nicely, I just turned a little more into code blocks for legibility and so can be copied directly if somebody wants sample data...
Karl Laenger
2020-12-12
Image Analyst
2020-12-12
Error using vertcat
Dimensions of arrays being concatenated are not consistent.
Error in test (line 9)
res = ['Carreau-Parameter: ';'a = 7521.1446 Pa*s ';'b = 0.10637 s ';'c = 0.78114 ']; % and so on...
Also, what is s? The filename. I assume I can just pick anything, but it would shorten the time to solution if you just gave us code that ran right out of the box.
Karl Laenger
2020-12-12
编辑:Karl Laenger
2020-12-12
采纳的回答
更多回答(0 个)
类别
在 帮助中心 和 File Exchange 中查找有关 Characters and Strings 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!