使用MATLAB通过ActiveX协议将字符串值写入Excel电子表格中。发现一个问题

奎因·海妮(Quinn Haynie)

我正在使用MATLAB 2017a,过去一直在使用xlswrite它来执行此操作。我遇到的问题是执行速度,我在寻找更好的方法。因此,我决定actxserver通过get(obj)MATLAB和Range.ValueActiveX使用和写入数据代码如下所示:

e = actxserver('Excel.Application);
eWorkbook = e.Workbooks.Add;
e.Visible = 1;
eSheets = e.ActiveWorkbook.Sheets;
eSheet1 = eSheets.get('Item',1);
eSheet1.Activate;
A = ["Str1";"Str2";"Str3";];
eActivesheetRange = get(e.Activesheet, 'Range', 'A1:A3');
eActivesheetRange.Value = A;

代码的这种含混不清的位不会执行,也不会引发警告或错误消息。在我看来,eActivesheetRange评估结果为:Range("A1:A3")在ActiveX方面。有趣的是,如果我更换

A = ["Str1";"Str2";"Str3";];

A = char(["Str1";"Str2";"Str3";]);

然后程序将A char数组写入eActivesheetRangeRange中的每个单元格

有没有一种cells()使用MATLABRange.Value连接进行调用的方法cells().Value可以解决这个问题呢?

gnovice

我不认为使用ActiveX编写Excel能够string正确处理类型。在这种情况下,你可以把它简单地转换您的字符串数组到一个工作单元阵列特征向量使用cellstr将您的最后一行代码更改为以下代码对我有用(在R2016b中):

eActivesheetRange.Value = cellstr(A);

用以下内容替换最后两行也可以:

e.Activesheet.Range('A1:A3').Value = cellstr(A);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

C#打开一个excel电子表格,将表头列读入字符串

使用 python openpyxl 写入 Excel 电子表格(字符串搜索)

将单元格数组中包含的MATLAB字符串存储在excel电子表格中

Excel电子表格引用一个ActiveX控件

如何获取Excel电子表格中列的最后一个值?

在多个Excel电子表格中查找并关联一个值

如何使用 Apps 脚本将多个电子表格中特定列的数据导入到一个电子表格中?

将一个Json文件逐格写入Google电子表格

通过匹配第二个电子表格中的关键列来更新一个电子表格中的列

将列值从一个电子表格复制到另一电子表格,仅添加必要的行

Google Apps脚本,使用格式将一个电子表格复制到另一电子表格

从电子表格中修改另一个电子表格:Google Apps脚本

使用Python使用Google API将电子表格复制到另一个电子表格

写入Excel电子表格

使用EPPlus向电子表格写入问题

无法将表单值写入电子表格

将另一个电子表格中的彩色单元格复制到当前电子表格

使用另一个Excel数据过滤一个excel电子表格

建立一个表格,其中包含Google电子表格中每个组的唯一值总计

如何通过 PHP 中的 Google Spreadsheet API 创建带有 json 字符串的电子表格

双击一个Excel文件将打开Excel,但不会打开电子表格本身。

使用Google工作表脚本时,如何在不创建新工作表副本的情况下将电子表格的工作表复制到另一个电子表格中?

使用谷歌脚本将电话号码字符串从谷歌表单格式化为电子表格到电子邮件草稿中

Excel VBA-CountIfs-从一个电子表格移动到另一个电子表格

Google HTML服务:将表单中多项选择的值写入电子表格

在一个电子表格上运行脚本以更改另一个电子表格上的值

如何遍历值从列表<字符串>在电子表格controlsfx GridBase的setCellValue方法?

仅将活动行从一个电子表格复制到另一个电子表格

如何将数据从一个电子表格追加到另一个电子表格?