分享

matlab excel的sheet增加,重命名操作

 lihaohello 2017-10-30

xlsread和xlswrite没提供对sheet的操作,从ActiveX来处理


官网地址
Write Data to Excel Spreadsheet Using ActiveX
或者 doc actxserver in matlab


新增sheet

e = actxserver('Excel.Application'); % # open Activex %server
ewb = e.Workbooks.Open(name); % # open file (enter full path!)
ewb.Worksheets.Add([],ewb.Worksheets.Item(ewb.Worksheets.Count));
ewb.Save % # save to the same file
ewb.Close(false)
e.Quit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

打开name文件,注意要完整的路径。在原先基础上新增一个sheet,一个新的exl是3个sheet。

对sheet重命名

e = actxserver('Excel.Application'); % # open Activex server
ewb = e.Workbooks.Open(name); % # open file (enter full path!)
ewb.Worksheets.Item(num).Name = mn; % # rename num sheet
ewb.Save % # save to the same file
ewb.Close(false)
e.Quit
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

对第num个sheet进行重命名


贴一部分代码,实现的是,新建tg为文件名的xls,文件的sheet分别为method。xlswrite 写cell 文件方便。

function Untitled2()
set = {'ECSSD'};
method = {'VA', 'SO'};
methodv = {'MSE', 'PR'};
tg = {'J:\ECSSD.xls','J:\MSRA1000.xls'};
setup(tg{1}, method);setup(tg{2}, method);
end

function str = double2mystr(a)

    str = sprintf('%.4f%%',a*100);
end

% 新建一个文件,以method为sheet
function setup(name, method)
% 初始化 name 文件
xlswrite(name, 1);
for i1 = 1 : length(method)
    mn = method{i1};
    % 使用 ActiveX 来增加sheet
    sheetn(name, i1, mn);
end
end

function sheetn(name, num, mn)

e = actxserver('Excel.Application'); % # open Activex server
ewb = e.Workbooks.Open(name); % # open file (enter full path!)
if num > 3
    ewb.Worksheets.Add([], ewb.Worksheets.Item(ewb.Worksheets.Count));
end
ewb.Worksheets.Item(num).Name = mn; % # rename 1st sheet
ewb.Save % # save to the same file
ewb.Close(false)
e.Quit
end
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多