使用xlswrite将char矩阵写入Excel

时间:2014-03-20 18:56:21

标签: excel matlab matrix cell-array

有人可以协助为Excel编写字符矩阵吗?以下是< 17x6 char>

A =

SPK01a
SPK03a
SPK03b
SPK05a
SPK07a
SPK07b
SPK07c
SPK09a
SPK11a
SPK15a
SPK17a
SPK19a
SPK21a
SPK23a
SPK25a
SPK27a
SPK29a

我试图xlswrite(filename, {A})但收到错误:

Error using xlswrite (line 220)
ActiveX - Element of a cell array cannot be a character matrix.

我需要字符串在单元格中,所以在这种情况下,在Excel的第一列中,在17个单独的单元格中。

2 个答案:

答案 0 :(得分:1)

使用mat2cell将您的字符矩阵转换为单元格数组并使用它来写入Excel文件 -

xlswrite(xls_filename,mat2cell(A,ones(1,size(A,1))))

这会将所有内容写入Excel工作表的第一列,但是在不同的行中。

答案 1 :(得分:1)

您可以使用cellstr制作形状正确的单元格阵列:

xlswrite(fileName,cellstr(A))

cellstr提供了一种快速方法,可以将字符数组的每一行放入一个单独的单元格中,并且删除每行末尾的尾随空格