writing cellArray to doc file.

6 次查看(过去 30 天)
[fileName, filePath] = uiputfile('*.doc', 'Create a file:')
if ~ischar(fileName)
return;
end
fileID = fopen(fullfile(filePath, fileName), 'w');
coordinates=[32.56744567,33.54543333;32.55546543,33.77786567;32.66874567,33.44843753];
coordinates=num2cell(coordinates);
ids=[{'a'};{'b1'};{'3'}];
cellArray=[ids,coordinates];
%I need to write cellArray into word doc file with the same precision of coordinates.

采纳的回答

Geoff Hayes
Geoff Hayes 2014-6-27
If you are trying to write the cell array data to an MS Word file, then you should check out http://www.mathworks.com/matlabcentral/fileexchange/9112-writetowordfrommatlab in the MATLAB File Exchange for details on how to do this.
If you wish to simply write the data to a text file without loss of precision, then try something like
if fileID>0
for k=1:size(cellArray,1)
for m=1:size(cellArray,2)
% get the data type of the element in the cell array
dataType = class(cellArray{k,m});
% element data type determines how we write it to file
if strcmpi(dataType,'char')
fprintf(fileID,'%s\t',cellArray{k,m});
elseif strcmpi(dataType,'double')
fprintf(fileID,'%.10f\t',cellArray{k,m});
% etc. for each data type in the cell array
end
end
fprintf(fileID,'\n');
end
fclose(fileID);
end
By using the %.10f we are requesting that ten digits beyond the decimal place be written to file.

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Low-Level File I/O 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by