MATLAB App Designer:2020-12-03 将table数据导出至Excel

背景

存在一个table类型的数据,需要导入到excel文件中

编写目的

(1)如果指定excel不存在,则新建并写入数据

(2)如果excel存在,指定工作簿不存在,则指定工作簿写入已存在的excel文件

(3)如果excel文字,指定工作簿也存在,则先删除存在的指定工作簿然后在新建并写入指定工作簿对应的数据

编写的函数

该函数需要调用函数deleteSheet,从ilovematlab论坛找到(具体来源忘记了) function deleteSheet(file,SheetName) Excel = actxserver('Excel.Application'); % 打开Excel作为COM自动化服务器 set(Excel, 'Visible',0);% 使应用程序不可见 set(Excel,'DisplayAlerts',0);% 使Excel不显示警报 Workbooks = Excel.Workbooks;% 掌握Excel的 handle [~, sheet_names] = xlsfinfo(file);% # 只有一个工作簿 if length( sheet_names ) == 1% 工作簿只有一个的时候再新建一个     Workbook=Workbooks.Open(file);% 打开Excel工作簿并激活它     Excel.ActiveWorkBook.Sheets.Add([]);% 新增一个     Workbook.Save; % 现在保存工作簿     Workbooks.Close;% 关闭工作簿 end if length( sheet_names ) == 1;[~, sheet_names] = xlsfinfo(file);end% # 两个以上删除一个% 重新读取工作簿名 Workbook=Workbooks.Open(file);% 打开Excel工作簿并激活它 Sheets = Excel.ActiveWorkBook.Sheets;% 获取活动工作簿中的工作表 Idx = ismember( sheet_names, SheetName );% 查找特定工作表 SheetName 并根据用户输入删除它们 [ MaxValue , Id ] = max( Idx ); if MaxValue == 1     current_sheet = get(Sheets, 'Item', Id ); invoke(current_sheet, 'Delete')       % 已删除既有 SheetName end Workbook.Save;% 现在保存工作簿 Workbooks.Close;% 关闭工作簿 invoke(Excel, 'Quit');% # 退出服务器% 退出Excel delete(Excel);% 删除 ActiveX Object 的 handle end

函数应用说明

调用的函数deleteSheet来源确实是忘记了

QR Code
微信扫一扫,欢迎咨询~

联系我们
武汉格发信息技术有限公司
湖北省武汉市经开区科技园西路6号103孵化器
电话:155-2731-8020 座机:027-59821821
邮件:tanzw@gofarlic.com
Copyright © 2023 Gofarsoft Co.,Ltd. 保留所有权利
遇到许可问题?该如何解决!?
评估许可证实际采购量? 
不清楚软件许可证使用数据? 
收到软件厂商律师函!?  
想要少购买点许可证,节省费用? 
收到软件厂商侵权通告!?  
有正版license,但许可证不够用,需要新购? 
联系方式 155-2731-8020
预留信息,一起解决您的问题
* 姓名:
* 手机:

* 公司名称:

姓名不为空

手机不正确

公司不为空