xlwrite在编译时不写

时间:2015-09-21 13:25:45

标签: excel macos matlab

javaaddpath('jxl.jar');
javaaddpath('MXL.jar');

import mymxl.*;
import jxl.*;   

filename = 'Test.xls';
data = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R}
xlwrite('./Test.xls',data);

http://www.mathworks.com/matlabcentral/fileexchange/37560-xlwrite---export-data-to-excel-from-matlab-on-mac-win

当我在MATLAB R2014b中使用此代码时,test.xls是在.m所在的文件夹中创建的。 .m文件中有更多代码,但我没有包含,因为这只是定义变量。

当我使用Application Compiler编译它时,不会创建.xls文件。我编译时包含了xlwrite下载中的所有文件。我还包括./表示应该在应用程序所在的文件夹中写入.xls。但仍然没有写入文件。

任何人都可以告诉我在编译后打开应用程序时出错了吗?

1 个答案:

答案 0 :(得分:0)

也许您应该尝试使用mex -setup函数更改您使用的编译器(Matlab对某些编译器有问题),或者尝试使用Matlab编码器,然后将代码转换为C等价物并通过C编译它编译器。

如果没有任何效果,那么代码可能无法在Matlab之外解释(可能是因为您使用的库或其他东西)。

P.S。如果“A,B,C ......”部分代码在中 data = {A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R}
不是变量而是字符,除以逗号和空格,那么你应该用替换该行 data = {'A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R'};
如果没有,那么只需在行尾添加一个分号(以防万一)。