提示:对于Matlab7.0或2007版本以下才需要将本函数编写为M函数放在工作路径之下,进行调用,对于高版本
Matlab已自带本函数,可以直接调用,函数名相同,具体调用方式见help xlswrite。
function xlswrite(m,header,colnames,filename);
% xlswrite Easily create an Excel spreadsheet from MATLAB
%
% xlswrite(m,header,colnames,filename) creates a Microsoft Excel
% spreadsheet using
% the MATLAB ActiveX interface. Microsoft Excel is required.
%
%Inputs:
党支部书记讲党课% m Matrix to write to file
% (Optional):
% header String of header information.
% U cell array for multiple lines
% DO NOT USE multiple row character arrays!!
% colnames (Cell array of strings) Column headers.
% One cell element per column
% filename (string) Name of Excel file. If not specified, contents will
% be opened in Excel.
%
形容性格的成语% ex:
% m = rand(100,4);
% header = 'my data';
% %header{1} = 'first line'; %This will give
% %header{2} = 'cond line'; % 2 header lines
% colnames = {'Ch1','Ch2','Ch3','Ch4'};
简单的签名%
% xlswrite(m,header,colnames,'myfile.xls');
% will save the spreadsheet as myfile.xls. The ur
% will never e Excel
% xlswrite(m,header,colnames);
% will open Excel with the contents in a new spreadsheet.
%
% Scott Hirsch
% The MathWorks
% This is provided free, no warranty, ...
% Copied from ActiveX example in documentation
[nr,nc] = size(m);
if nc>256
error('Matrix is too large. Excel only supports 256 columns');
end;
% Open Excel, add workbook, change active worksheet,
% get/put array, save.
% First, open an Excel Server.
Excel = actxrver('Excel.Application');
%If the ur does not specify a filename, we'll make Excel visible
%If they do, we'll just save the file and quit Excel without ever making
% it visible
if nargin<4
t(Excel, 'Visible', 1); %You might want to hide this if
% you autosave the file
end;
% Inrt a new workbook.
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Add');
% Make the first sheet active.
Sheets = Excel.ActiveWorkBook.Sheets;
sheet1 = get(Sheets, 'Item', 1);
invoke(sheet1, 'Activate');
% Get a handle to the active sheet.
Activesheet = Excel.Activesheet;
%Write header
if nargin<2 | impty(header) 初中物理教学设计
nhr=0;
elif iscell(header)
nhr = length(header); %Number header rows
for ii=1:nhr
ActivesheetRange = get(Activesheet,'Range',...
['A' num2str(ii)],['A' num2str(ii)]);
t(ActivesheetRange, 'Value', header{ii});
end;
el
nhr = 1; %Number header rows
ActivesheetRange = get(Activesheet,'Range','A1','A1');
t(ActivesheetRange, 'Value'
, header);
霸气的图片
end;
%Add column names
if nargin>2 & ~impty(colnames)
nhr = nhr + 1; %One extra column name
ncolnames = length(colnames);
for ii=1:ncolnames
colname = localComputLastCol('A',ii);
% cellname = [char(double('A')+ii-1) num2str(nhr+1)];
cellname = [colname num2str(nhr)];
ActivesheetRange = get(Activesheet,'Range',cellname,cellname);
t(ActivesheetRange, 'Value', colnames{ii});
end;
end;
% Put a MATLAB array into Excel.
FirstRow = nhr+1; %You can change the first data row here.
% I start right after the headers
LastRow = FirstRow+nr-1;
FirstCol = 'A'; %You can change the first column here
LastCol = localComputLastCol(FirstCol,nc);
ActivesheetRange = get(Activesheet,'Range',...
安装监控[FirstCol num2str(FirstRow)],[LastCol num2str(LastRow)]);
t(ActivesheetRange, 'Value', m);
% If ur specified a filename, save the file and quit Excel
if nargin==4
invoke(Workbook, 'SaveAs', [pwd filep filename]);
invoke(Excel, 'Quit');
[pathstr,name,ext] = fileparts(filename);
disp(['Excel file ' name '.xls has been created.']);
end;
%Delete the ActiveX object
delete(Excel)
function LastCol = localComputLastCol(FirstCol,nc);
% Comput the name of the last column where we will place data
%Input
% FirstCol (string) name of first column
% nc total number of columns to write
%Excel's columns are named:
% A B C ... A AA AB AC AD .... BA BB BC ...
FirstColOfft = double(FirstCol) - double('A'); %Offt from column A
if nc<=26-FirstColOfft %Easy if single letter
童年小说%Just convert to ASCII code,add the number of needed columns,and convert back
%to a string
LastCol = char(double(FirstCol)+nc-1);
el
ng = ceil(nc/26); %Number of groups (of 26)
rm = rem(nc,26)+FirstColOfft; %How many extra in this group beyond A
LastColFirstLetter = char(double('A') + ng-2);
LastColSecondLetter = char(double('A') + rm-1); 坐飞机英文
LastCol = [LastColFirstLetter LastColSecondLetter];
end;