本周文件交换精选

我们最好的用户提交

删除默认的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赃物?

试一试,让我们知道你的想法这里或者离开评论诺姆。




发布与MATLAB®R2015a

|

评论

要留下评论,请点击这里登录到您的MathWorks帐户或创建一个新帐户。