我将大量变量放入一个xlsx文件的不同表中。
一张纸的一个变量。
所以我想把变量的名称作为工作表的名称。
我找不到任何执行此操作的命令。所以也许这应该通过编写一些python并在matlab中有一行来调用那个py文件来完成。
如果这是不可能的,我将尝试将变量的名称放在第一行。但是,当变量有多于1列时,则表示vertcat不起作用。
xlswrite('test.xlsx',vertcat('A',[1 3; 1 2]))
我该怎么办?
======================
后续问题
我根据Suever的回答编写了以下内容。
function xlswr(file_name,varargin)
xlswrite(file_name,varargin{i},inputname(i+1))
但是,当我通过
调用此功能时xlswr('test.xlsx', A, A(:,2))
然后A打印在test.xlsx上,但A(:,2)不打印。
每当输入不只是像A这样的全名,而是变量的某些部分,那么它就不会打印出来。
我该如何解决这个问题?
答案 0 :(得分:1)
您遇到问题的原因是您尝试将1 x 1
的字符串垂直连接到2 x 2
的数据,因此您显然会出现维度不匹配的问题。
如果要指定工作表名称,只需使用third input至xlswrite
将工作表的名称指定为字符串。
xlswrite('test.xlsx', [1 3; 1 2], 'A')
或者,如果要包含文本和数字数据,则始终可以传递单元数组而不是数字数组。这会将字符串和数字放入同一张表。
xlswrite('test.xlsx', vertcat({'A', 'B'}, num2cell([1 3; 1 2])));