首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Matlab -用xlsread从excel获得公式?

Matlab -用xlsread从excel获得公式?
EN

Stack Overflow用户
提问于 2015-08-05 18:46:10
回答 2查看 2.5K关注 0票数 0

在文档doc xlsread中,可以使用[num,txt,raw] = xlsread('example.xls')将excel表中的数据提取到matlab中。

我有一个包含要复制到其他工作表的公式的工作表,但是xlread将使用解释的公式值,而不是公式本身。例如,一个公式是=AVERAGE(B8:V8),它是我希望以编程方式从工作表中提取的内容,但excel返回的值是0.810,这是公式将返回的值。

用matlab可以用任何方式提取公式吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2015-08-05 20:04:47

仅用xlsread是不可能的。

使用COM Excel对象的一个示例:

例如,让我们使用一个简单的excel表,其中包含文本、值和公式:

然后是以下代码:

代码语言:javascript
复制
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

生成一个很好的单元格数组:

代码语言:javascript
复制
strFormula = 
    'This is text'       'hello'          
    'this is value'      '12.5'           
    'this is value'      '29'             
    'this is formula'    '=AVERAGE(C4:C5)'

如果直接知道特定单元格的地址,则返回一个简单字符串:

代码语言:javascript
复制
cellFormula = exlSheet1.Range('C6').Formula             %// Read a single cell

cellFormula =
=AVERAGE(C4:C5)
票数 4
EN

Stack Overflow用户

发布于 2015-08-05 19:36:38

使用xlsread是不可能的,您必须使用其中一个API来读取excel文件或访问excel。据我所知,这些选择是:

  • Apache,它可以通过爪哇桥轻松地使用。一个例子可以找到这里
  • 类似于Java,最新版本的Matlab可以访问像开吡咯这样的Python库。这需要至少Matlab 2014 b
  • 您可以通过COM或.NET访问Excel应用程序
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31840453

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档