删除默认的Excel表格
肖恩本周的选择是RemoveSheet123通过诺姆Greenboim.
使用Matlab和Excel
最近,我一直在为不使用MATLAB的同事做数据分析。然而,他们中的大多数人都熟悉Excel。因此,我在MATLAB中完成了繁重的工作,比如从数据库中聚合数百万条记录,或者复杂的设置分析,并将结果导出到Excel,以便他们可以看到它,操纵它,或在Excel中枢转。
为了方便,我的操作方式是把数据放入桌子然后使用writetable导出到Excel。一般来说,writetable“做正确的事”。如果你有异构数据,它会弄清楚如何写它,变量名已经存在,所以它们被用作列头,等等。我发现这是一个简单的工作流程,在大多数情况下,我通常不需要额外的控制xlswrite报价。
关于这种方法,有两件事需要注意。首先,如果您向一个指定的工作表写入数据(我经常这样做),您将收到向Excel文件添加新工作表的警告。
writetable(表(兰德(5)),“SimpleExcelFile.xlsx”,'床单',“Rand5”)
警告:添加了指定的工作表。
幸运的是,这可以很容易地关闭。
警告('离开',MATLAB: xlswrite: AddSheet);
我实际上在我的警告中关掉了这个警告startup.m文件所以除了关于它的博客时,我永远不需要查看此消息!
这种方法发生的另一件事是,不使用默认的Excel表,剩余空闲和占用空间或点击它们时的时间,以查看它们包含的内容。而这就是诺马姆的文件进来的地方:它删除了那些默认的表,简单而简单。
从雅虎下载一些数据!(需要数据处理工具箱)y =雅虎;% 拿来ClosePrice =获取(y,“山姆”,'关',“04/01/15”,“04/30/15”);%转换为具有描述性变量名的表和日期时间TClosePrice =表(datetime (ClosePrice (: 1),'vectormfrom',“datenum”), ClosePrice (:, 2));TClosePrice.Properties.VariableNames = {“日期”,'samadamsclosingprice'};%写成可写的(Tcloseprice,'stockdata.xlsx','床单',“SamAdams”)
前:
注意:这仅适用于Windows,因为它依赖于Excel API。
%删除表removesheet123('stockdata.xlsx');
第1页-已删除。
后:
感谢诺姆为拯救我为Excel研究API的努力。
我做了一个小改动,就是注释掉抓块(第59行),因此如果它失败了,它会静默地执行。这样做的原因是,我有一个不同的Excel模板,默认只给我一个工作表。我从来不用把这三个都删掉,至少在这台机器上不用。此更改将处理这样一个事实:当抛出错误时,文档不会被保存或退出。我建议使用anoncleanup.对象以防止此状态成为可能。
评论
你如何整合Matlab和Excel?任何提示,技巧或挑战,您想分享一些Mathworks赃物?
评论
要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。