kitty153153 发表于 2008-3-3 13:30

请教如何将混合数组读入excel

最近碰到个问题,想向高手请教下:
我知道,将EXCEL的数据读入MATLAB的函数是xlsread.
假设有这样一个包含列名和数值的excel文件aa.xls:
编号      PV      PR1
2      65.77      454596.3
13      173249.9      724434.5
18      33923.2      566149.2
20      101458.2      544245.6
27      184064.2      535381.6
28      161390.9      571988.4
39      169845.9      879912.3用xlsread读入到MATLAB里很简单:
=xlsread('aa.xls') 即可,生成两个矩阵
N=
2      65.77      454596.3
13      173249.9      724434.5
18      33923.2      566149.2
20      101458.2      544245.6
27      184064.2      535381.6
28      161390.9      571988.4
39      169845.9      879912.3
headertxt =
'编号'      'PV'      'PR1'

可是当我想把这两个矩阵重新存成excel文件(包含列名和数据)时却遇到麻烦.
虽然我知道函数xlswrite用于把数据写入excel,可是写入的只能是一个数组,要么是数值数组N,要么是字符数组headertxt:
xlswrite('文件名',N)
xlswrite('文件名',headertxt)
没法将两个数组按照原来的格式同时写入excel,即使我将N和headertxt合并成一个混合数组:
rawdata = {headertxt,N} ,
再用xlswrite读入excel
xlswrite('文件名',rawdata)
也不行,什么也没有写入excel.

请问这是怎么回事,怎么解决这个问题,谢谢!

[ 本帖最后由 eight 于 2008-3-3 15:09 编辑 ]

eight 发表于 2008-3-3 15:19

原帖由 kitty153153 于 2008-3-3 13:30 发表 http://www.chinavib.com/forum/images/common/back.gif
最近碰到个问题,想向高手请教下:
我知道,将EXCEL的数据读入MATLAB的函数是xlsread.
假设有这样一个包含列名和数值的excel文件aa.xls:
编号      PV      PR1
2      65.77      454596.3
13      173 ...
不可能不行的,请 doc xlswrite,仔细阅读一下相关例子。另外, rawdata = {headertxt,N}这个写法得到的结果是 rawdata 是一个 cell 数组,问题也许就出在这

[ 本帖最后由 eight 于 2008-3-3 15:21 编辑 ]

kitty153153 发表于 2008-3-3 16:33

原帖由 eight 于 2008-3-3 15:19 发表 http://www.chinavib.com/forum/images/common/back.gif

不可能不行的,请 doc xlswrite,仔细阅读一下相关例子。另外, rawdata = {headertxt,N}这个写法得到的结果是 rawdata 是一个 cell 数组,问题也许就出在这


我看过xlswrite这个函数的相关例子,他举了一个cell数组的例子:
d = {'Time', 'Temp'; 12 98; 13 99; 14 97};
得到的是一个4*2的cell数组,这时用xlswrite读入excel是没问题的.
可是我现在的问题是,我自己也觉得rawdata = {headertxt,N} 这个写法有问题,因为这时我得到的是一个2*1的cell数组,与原来应该有的维数是不同的,所以这时写不进excel。我现在试了很久,不知道怎么把这两个数组合并成正确维数的cell数组,所以想请版主高手们赐教,怎样解决这个问题。

94117239 发表于 2008-3-9 21:59

分开写进去就好了

[ 本帖最后由 eight 于 2008-3-10 16:51 编辑 ]

faith924 发表于 2008-3-13 10:59

对,分开写是可以实现的。
xlswrite('tep1.xls',headertxt,'sheet1','A1')
xlswrite('tep1.xls',N,'sheet1','A2')

kitty153153 发表于 2008-3-14 11:09

原帖由 faith924 于 2008-3-13 10:59 发表 http://www.chinavib.com/forum/images/common/back.gif
对,分开写是可以实现的。
xlswrite('tep1.xls',headertxt,'sheet1','A1')
xlswrite('tep1.xls',N,'sheet1','A2')

谢谢faith924 ,我试了,可以行得通。:@)

cjd502 发表于 2008-4-5 07:30

我正在学习
页: [1]
查看完整版本: 请教如何将混合数组读入excel