您的位置:首页 > 编程语言 > MATLAB

巧用matlab做中继实现excel数据按格式输出到word

2014-03-17 15:40 239 查看
(由于部分东西涉密,所以有些东西用XX表示。)最近干了一点活,给XX研究所的雷达数据库做一份word文档,目的应该是印出来可以看或者当书好查。Excel表格是3000*30的,代表了3000个雷达的30中特征——频率、功率、最大测距距离等等,要求将其整合成下图所示的形式,因为军事原因,有些雷达的信息不全,因此在做word的时候时候需要注意,没有的项要删除,也就是说,如果不知道该雷达的方位角,在做word的时候就不要写这一行。

         



如果用简单的复制粘贴,工作量的确是太大了,因此考虑编程解决,主要思想如下:

1、通过matlab的导入功能,将excel数据读入matlab,因为excel每个单元格中的字数不确定,因此导入时要按照字符串数组的形式导入

数据的形式还是贴图吧





 

2、导入后,原表格的每一行代表一个雷达的信息,共有30个特性,编程中,首先要判断该项是否为0(NULL即没有字符串),如果不为零,才对该项按格式进行输出

3、主要用到fopen、fclose、fprint等几个函数

下面附上matlab源代码:

fid=fopen('C:\Users\Fantasy\Desktop\a.txt','wt');%写入文件路径

forj=1:2955

%
if isempty(columnC{j});%判断单元格是否为0
else
fprintf(fid,'%s\',columnC{j});
fprintf(fid,'\n');
fprintf(fid,'\n');
end

if isempty(columnB{j});
else
fprintf(fid,'索引号:');
fprintf(fid,'%s\',columnB{j});
fprintf(fid,'\n');
end

%      if isempty(columnC{j});
%      else
%      fprintf(fid,'雷达名称:');
%      fprintf(fid,'%s\',columnC{j});
%      fprintf(fid,'\n');
%      end

if isempty(columnD{j});

else
fprintf(fid,'雷达功能:');
fprintf(fid,'%s\',columnD{j});
fprintf(fid,'\n');
end

if isempty(columnE{j});

else
fprintf(fid,'雷达体制:');
fprintf(fid,'%s\',columnE{j});
fprintf(fid,'\n');
end

if isempty(columnF{j});

else
fprintf(fid,'工作频段:');
fprintf(fid,'%s\',columnF{j});
fprintf(fid,'\n');
end

if isempty(columnG{j});

else
fprintf(fid,'工作频率(GHz):');
fprintf(fid,'%s\',columnG{j});
fprintf(fid,'\n');
end

if isempty(columnH{j});

else
fprintf(fid,'方位角():');
fprintf(fid,'%s\',columnH{j});
fprintf(fid,'\n');
end

if isempty(columnI{j});

else
fprintf(fid,'俯仰角():');
fprintf(fid,'%s\',columnI{j});
fprintf(fid,'\n');
end

if isempty(columnJ{j});

else
fprintf(fid,'作用距离(Km):');
fprintf(fid,'%s\',columnJ{j});
fprintf(fid,'\n');
end

if isempty(columnK{j});

else
fprintf(fid,'天线类别:');
fprintf(fid,'%s\',columnK{j});
fprintf(fid,'\n');
end

if isempty(columnL{j});

else
fprintf(fid,'扫描方式:');
fprintf(fid,'%s\',columnL{j});
fprintf(fid,'\n');
end

if isempty(columnM{j});

else
fprintf(fid,'天线转速:');
fprintf(fid,'%s\',columnM{j});
fprintf(fid,'\n');
end

if isempty(columnN{j});

else
fprintf(fid,'天线尺寸:');
fprintf(fid,'%s\',columnN{j});
fprintf(fid,'\n');
end

if isempty(columnO{j});

else
fprintf(fid,'天线增益(dB):');
fprintf(fid,'%s\',columnO{j});
fprintf(fid,'\n');
end

if isempty(columnP{j});

else
fprintf(fid,'方位波束宽度():');
fprintf(fid,'%s\',columnP{j});
fprintf(fid,'\n');
end

if isempty(columnQ{j});

else
fprintf(fid,'俯仰波束宽度():');
fprintf(fid,'%s\',columnQ{j});
fprintf(fid,'\n');
end

if isempty(columnR{j});

else
fprintf(fid,'峰值功率(KW):');
fprintf(fid,'%s\',columnR{j});
fprintf(fid,'\n');
end

if isempty(columnS{j});

else
fprintf(fid,'平均功率(w):');
fprintf(fid,'%s\',columnS{j});
fprintf(fid,'\n');
end

if isempty(columnT{j});

else
fprintf(fid,'脉冲宽度(us):');
fprintf(fid,'%s\',columnT{j});
fprintf(fid,'\n');
end

if isempty(columnU{j});

else
fprintf(fid,'重复频率(Hz):');
fprintf(fid,'%s\',columnU{j});
fprintf(fid,'\n');
end

if isempty(columnV{j});

else
fprintf(fid,'接收机类型:');
fprintf(fid,'%s\',columnV{j});
fprintf(fid,'\n');
end

if isempty(columnW{j});

else
fprintf(fid,'噪声系数:');
fprintf(fid,'%s\',columnW{j});
fprintf(fid,'\n');
end

if isempty(columnX{j});

else
fprintf(fid,'接收机带宽:');
fprintf(fid,'%s\',columnX{j});
fprintf(fid,'\n');
end

if isempty(columnY{j});

else
fprintf(fid,'接收机中频频率(MHz):');
fprintf(fid,'%s\',columnY{j});
fprintf(fid,'\n');
end

if isempty(columnZ{j});

else
fprintf(fid,'现状:');
fprintf(fid,'%s\',columnZ{j});
fprintf(fid,'\n');
end

if isempty(columnAA{j});

else
fprintf(fid,'研制单位:');
fprintf(fid,'%s\',columnAA{j});
fprintf(fid,'\n');
end

if isempty(columnAB{j});

else
fprintf(fid,'平台类型:');
fprintf(fid,'%s\',columnAB{j});
fprintf(fid,'\n');
end

if isempty(columnAC{j});
else
fprintf(fid,'装备情况:');
fprintf(fid,'%s\',columnAC{j});
fprintf(fid,'\n');
end

if isempty(columnAD{j});
else
fprintf(fid,'环境条件:');
fprintf(fid,'%s\',columnAD{j});
fprintf(fid,'\n');
end

if isempty(columnAE{j});

else
{ fprintf(fid,'参考价格:');
fprintf(fid,'%s\',columnAE{j});
fprintf(fid,'\n');
}
end

if isempty(columnAF{j});
else
fprintf(fid,'质量:');
fprintf(fid,'%s\',columnAF{j});
fprintf(fid,'\n');
end

if isempty(columnAG{j});
else
fprintf(fid,'雷达简介:');
fprintf(fid,'%s\',columnAG{j});
fprintf(fid,'\n');
end

fprintf(fid,'\n');
fprintf(fid,'\n');
fprintf(fid,'\n');

end
fid=fclose(fid);%写入文件路径
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: