※ 引述《qaz1234567q (斐波那契数列)》之铭言:
: 我知道matlab可以输入或输出excel。
: 但是,我想问的是excel可以读取matlab吗?
: 因为,在Excel写计算式或程式都没有matlab来的方便。可是,matlab在一些操作上又没
: 有excel来的方便。
: 所以,我想在matlab 写程式或计算式,然后,excel当作输入接口,将数据丢到matlab
: 计算后,在回传给excel。(在操作上,都不需要开启matlab,只需要打开excel)
可以
步骤有一点麻烦,细心排除障碍后即可达到目标:
1. 把 Matlab compilier 装起来,以便把你的 Matlab
code 编译成 .dll 档
2. 在你的 Excel 里面加入 Module 以便插入 VBA code.
3. 在你刚加入的 Module 里面加入那些 dll 函数的宣告,可以参考https://docs.microsoft.com/en-us/office/client-developer/excel/how-to-access-dlls-in-excel
4. 开始使用
虽然你每次修改你的 Matlab code 都需要重新编译
成 .dll 档,但因为它们已经编译好了,所以 Excel
呼叫它们的时候不需要 Matlab。
备注:
*1. 你可以把这些 .dll 档 copy 到没有 Matlab 的机器
使用,但需要在那台机器上先安装 Matlab runtime
*2. 第一次呼叫那些 function 时可能会稍有 delay,
但第二次以后就会正常,因为它的 .dll 不是完全
native 的机械码,而是混合 p-code 的形式,但
执行起来还是比在 Matlab 里快
祝使用愉快