How to save an Excel sheet as PDF through MATLAB?
12 次查看(过去 30 天)
显示 更早的评论
I am using the following code:
hExcel = actxserver('Excel.Application');
hWorkbook = hExcel.Workbooks.Open(sprintf('%s','C:\test.xlsx'));
hWorksheet = hWorkbook.Sheets.Item(1);
hRange = hWorksheet.Range('A1:O10');
hRange.ExportAsFixedFormat('xlTypePDF','test_out.pdf');
The Excel ActiveX server allows me to do the usual stuff, but the last line doesn't do anything. Neither does it throw any error.
Does anyone know how to do this?
1 个评论
Praveen
2016-12-28
hRange.ExportAsFixedFormat('xlTypePDF','test_out.pdf'); In this code give the path name, it works.. For example 'C:\test_out.pdf' instead of test
采纳的回答
Cel Kulasekaran
2015-1-13
编辑:Cel Kulasekaran
2015-1-13
First, set the print area within the workbook itself, then you'll need to call ExportAsFixedFormat on the worksheet or workbook object. You cannot call it on the range object. Hope this helps, see below:
hExcel = actxserver('Excel.Application');
hWorkbook = hExcel.Workbooks.Open(sprintf('%s','C:\test.xlsx'));
hWorksheet = hWorkbook.Sheets.Item(1);
% print this sheet to PDF
hWorksheet.ExportAsFixedFormat('xlTypePDF','C:\test_out.pdf');
5 个评论
Garrett Cassidy
2021-1-27
Is there a way to make it save 'Entire workbook'? When I manualy save as PDF I can click 'Options' then save 'Entire workbook' this saves each sheet as a page in the PDF.
Garrett Cassidy
2021-1-27
Answer my own question:
hExcel = actxserver('Excel.Application');
hWorkbook = hExcel.Workbooks.Open(sprintf('%s','C:\test'));
% Pring the workbook
hWorkbook.ExportAsFixedFormat('xlTypePDF','C:\test_out.pdf');
更多回答(1 个)
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Use COM Objects in MATLAB 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!