【问题标题】:Importing data columns of unknown and varying length into matlab from excel将未知和不同长度的数据列从excel导入matlab
【发布时间】:2013-09-07 10:58:28
【问题描述】:

在 MATLAB 中,我使用 ActiveX 从 excel 文件中导入多列数据。每列的长度不同且未知。因此我不知道该放什么单元格范围。

Range = get(hSheet5, 'Range', '??:??');

matlab 有没有办法检测列的长度,以便在导入时知道要放置的单元格范围?

【问题讨论】:

  • 我不知道 Matlab 和 ActiveX 怎么样,但在与 Excel 的任何形式的集成中都有办法做到这一点。在您的工作表对象中,您需要做的就是:aWorksheetObject.UsedRange.Columns.Count(或Rows)。不确定这是否相关,所以希望它有所帮助。
  • 另外:stackoverflow.com/questions/3244863/… 可能有助于获取特定列的长度(它似乎没有 ActiveRange 属性,至少在 python 中)。
  • @AleksanderLidtke 是的,这是有效的。但是,它给了我工作表上最大列的行数。有没有办法修改它,让它给我我想要的任何列的行数?
  • 您是否看过这篇建议使用类似Range("A1").End(xlDown).Row(或任意列的顶部单元格)的帖子?这行得通吗?
  • @AleksanderLidtke 哎呀!我的意思是,是的,您的建议(或者更确切地说是您链接到的页面上的建议)效果最好。我使用的解决方案是lastcol=hSheet6.Range(irange).End('xltoRight').Column(所以我删除了我之前的评论)。如果你愿意,可以把它作为答案。

标签: excel matlab activex


【解决方案1】:

我想知道解决方案是否应该使用 ActiveX。我会使用内置函数来读取 XLS 文件:

columnB = xlsread(fileName, sheetName, 'B:B');

【讨论】:

    猜你喜欢
    • 2016-01-07
    • 2014-12-03
    • 2014-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-12-05
    • 1970-01-01
    相关资源
    最近更新 更多