Actxserver Excel Save as function
조회 수: 3 (최근 30일)
이전 댓글 표시
I want the file to be saved in the name of the what the user has entered in a text space in my GUI. How can I do this using the wkbk.SaveAs('filename.xls') function?
댓글 수: 0
채택된 답변
Oleg Komarov
2011년 5월 18일
function saveAsExcel
% Figure
S.fh = figure('units','pixels',...
'position',[500 500 200 100],...
'menubar','none',...
'numbertitle','off',...
'resize','off');
% Editbox
S.ls = uicontrol('style','edit',...
'unit','pix',...
'position',[10 50 180 40],...
'fontsize',14,...
'string','');
% SaveAs button
S.pb = uicontrol('style','push',...
'units','pix',...
'position',[30 10 140 30],...
'fontsize',14,...
'string','Save As',...
'callback',@pb_call);
function pb_call(varargin)
% First open an Excel Server
Excel = actxserver('Excel.Application');
% set(Excel, 'Visible', 1);
% Insert a new workbook
Workbooks = Excel.Workbooks;
Workbook = invoke(Workbooks, 'Add');
% Make the second sheet active
Sheets = Excel.ActiveWorkBook.Sheets;
sheet1 = get(Sheets, 'Item', 1);
invoke(sheet1, 'Activate');
% Get a handle to the active sheet
Activesheet = Excel.Activesheet;
% Put a MATLAB array into Excel
A = [1 2; 3 4];
ActivesheetRange = get(Activesheet,'Range','A1:B2');
set(ActivesheetRange, 'Value', A);
Workbook.SaveAs([cd '\' get(S.ls,'string') '.xlsx'])
% Quit Excel
invoke(Excel, 'Quit');
% End process
delete(Excel);
end
end
댓글 수: 4
Himanshu Verma
2021년 11월 8일
How can I save the excel as '.htm' using Actxserver?
I have exported some text and images to different tabs in an excel sheet using Actxserver. If I manually open the sheet and save it as '.htm', it is possible and viewable. But I want to automate it and save the sheet as .htm using MATLAB only. Can you help me?
추가 답변 (0개)
참고 항목
카테고리
Help Center 및 File Exchange에서 Spreadsheets에 대해 자세히 알아보기
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!