添加迷你曲线来优化matlab

用MATLAB,我可以启动一个COM服务器,并以编程方式写入Excel工作簿。 然而,我不能找出一种方法来添加迷你图(build议appreaciated):

% Open new workbook excel = actxserver('excel.application'); excel.visible = 1; wrkbook = excel.Workbooks.Add(); sheet = wrkbook.Sheets.Item(1); % Write some data sheet.Range('B1:Z1').Value = rand(1,25); 

这是问题:

 % Add column sparklines to 'A1', type 'xlSparkColumn' and DataSource: 'B1:Z1' sheet.Range('A1').SparklineGroups.Add('xlSparkColumn','B1:Z1') 

我得到以下错误:

 Error using Interface.Microsoft_Excel_15.0_Object_Library.SparklineGroups/Add Error: Object returned error code: 0x800A03EC 

closures/清理

 % Close without saving wrkbook.Saved = 1; wrkbook.Close excel.Quit delete(excel) 

引用SparklineGroup对象(Excel) 。 我在win7 64bit,R2013a和Excel 2013上。

尝试:

 xlSparkColumn = 2; sheet.Range('A1').SparklineGroups.Add(xlSparkColumn,'B1:Z1') 

在将来,如果你想弄清楚某个常量/枚举的相应值,可以使用IL DASM工具,如下所示。

ILDASM


编辑

好吧,事实certificate枚举xlSparkColumn是不是真正的问题在这里,你可以指定它作为一个string参数或通过枚举的基础整数值。

您在注释中提到的问题是,您已经设置了R1C1 参考样式而不是默认的A1参考样式,因此您的调用中指定的范围在该格式中无效。

其中任何一个都可以工作:

 excel.ReferenceStyle = 'xlR1C1'; sheet.Range('A1').SparklineGroups.Add('xlSparkColumn','R1C2:R1C26') excel.ReferenceStyle = 'xlA1'; sheet.Range('A2').SparklineGroups.Add('xlSparkColumn','B1:Z1')