在文档doc xlsread中,可以使用[num,txt,raw] = xlsread('example.xls')将excel表中的数据提取到matlab中。
我有一个包含要复制到其他工作表的公式的工作表,但是xlread将使用解释的公式值,而不是公式本身。例如,一个公式是=AVERAGE(B8:V8),它是我希望以编程方式从工作表中提取的内容,但excel返回的值是0.810,这是公式将返回的值。
用matlab可以用任何方式提取公式吗?
发布于 2015-08-05 20:04:47
仅用xlsread是不可能的。
使用COM Excel对象的一个示例:
例如,让我们使用一个简单的excel表,其中包含文本、值和公式:

然后是以下代码:
xlfile = 'test1.xlsx' ;
xlRange = 'B3:C6' ;
exl = actxserver('excel.application'); %// Create a COM server
exlFile = exl.Workbooks.Open( [pwd '\' xlfile] ); %'// Open the file
exlSheet1 = exlFile.Sheets.Item('Sheet1'); %// Choose the worksheet
strFormula = exlSheet1.Range(xlRange).Formula %// Read the full range生成一个很好的单元格数组:
strFormula =
'This is text' 'hello'
'this is value' '12.5'
'this is value' '29'
'this is formula' '=AVERAGE(C4:C5)'如果直接知道特定单元格的地址,则返回一个简单字符串:
cellFormula = exlSheet1.Range('C6').Formula %// Read a single cell
cellFormula =
=AVERAGE(C4:C5)发布于 2015-08-05 19:36:38
使用xlsread是不可能的,您必须使用其中一个API来读取excel文件或访问excel。据我所知,这些选择是:
https://stackoverflow.com/questions/31840453
复制相似问题