How do I change the save file format in excel using activeX in Matlab

2 次查看(过去 30 天)
I currently have the following code.
file = 'C:\example\somefile.xlsx';
sheet = 'Sheet1'; %can be name or numeric index
row = 1;
excel = actxserver('Excel.Application');
workbook = excel.Workbooks.Open(file);
worksheet = workbook.Worksheets.Item(sheet);
worksheet.Rows.Item(row).Delete;
workbook.Save;
excel.Quit;
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
I want to change the default
"Save files in this format" : Excel Workbook (*.xlsx)
to
"Save files in this format" : CSV (Comma delimited)(*.csv)

回答(3 个)

Fangjun Jiang
Fangjun Jiang 2019-1-16
编辑:Fangjun Jiang 2019-1-16
Worked like a charm, in R2018b, MS Office 2016.
file = 'Book1.xlsx';
sheet = 'Sheet1';
excel = actxserver('Excel.Application');
workbook = excel.Workbooks.Open(fullfile(pwd,file));
worksheet = workbook.Worksheets.Item(sheet);
xlCSV=6; %this constant is defined by MS Excel
ExcelApp.DisplayAlerts=false;% ignore prompt
workbook.SaveAs(fullfile(pwd,'Book2'),xlCSV);
excel.Quit;
  3 个评论
Fangjun Jiang
Fangjun Jiang 2019-1-16
I don't know if you can change the default save option. But the statement ExcelApp.DisplayAlerts=false will get rid of that pop dialog.
Matthew Isaman
Matthew Isaman 2019-1-21
I used that line of code to remove the pop ups and they still showed up. I think I am just going to resort back to just changing the save option manually in the beginning before I run the code. Thanks for the help anyway!

请先登录,再进行评论。


Matthew Isaman
Matthew Isaman 2019-1-16
No it didnt work. I'm getting an error stating
Undefined function or variable 'filename'
Its not liking my filename or something. My original file is already a csv file but when I go to save it is asks is I want to save the file and if I want to keep the same formatting. I went through and change the save file options to save as CSV delimited and the pop up went away. I just couldnt figure out how to perform that task in matlab. To be able to change the save option.

Matthew Isaman
Matthew Isaman 2019-1-16
I also tried it using ".csv" thinking that might be the issue.
But I still would get and error saying
"Underfined variable "somefile" or class "somefile.csv"

Community Treasure Hunt

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

Start Hunting!

Translated by