xlswrite from cell and strcat error 0x800A03EC

조회 수: 5(최근 30일)
Dave
Dave 2018년 4월 14일
댓글: Walter Roberson 2018년 4월 14일
GreetingsI have a variable
A={'H$1';'H$2';'H$3'} %a 4x1 cell
% I need to generate an xlsx file with
=(YesH$1No) in cell A1
=(YesH$2No) in cell A2
=(YesH$2No) in cell A3
% I can xlswrite AA elements to excel wo problem
for ii=1:3
AA(1,ii)=A(ii)
BB{1,ii}=strcat('=(Yes',AA{ii},'No)')
end
xlswrite('fileA.xls', AA)
xlswrite('fileB.xls', BB)
% for BB because of the equal and parenthesis it outputs an error
Error using xlswrite (line 219)
Error: Object returned error code: 0x800A03EC

채택된 답변

Walter Roberson
Walter Roberson 2018년 4월 14일
Try
writetable(cell2table(BB),'fileB.xls', 'WriteVariableNames', false)
Note that this would be for the case where you want the cells to contain those literal strings, not for the case where you are trying to write macros at those locations. For that task of writing macros, what I find is https://stackoverflow.com/questions/48190180/can-matlab-write-a-macro-in-an-excel-file-via-activex
  댓글 수: 3
Walter Roberson
Walter Roberson 2018년 4월 14일
Hack workaround: disable / uninstall Excel for the moment. That would cause writetable() to use internal routines to do the writing instead of talking to Excel.
Or, Hack Workaround: edit writeXLSFile.m and change
book = createWorkbook(filename, ext, true);
to
book = createWorkbook(filename, ext, false);

댓글을 달려면 로그인하십시오.

추가 답변(0개)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by