Delete excel row using matlab

2 次查看(过去 30 天)
Nagham Kabbara
Nagham Kabbara 2015-11-12
hi, i am trying to delete one row from a specific excel sheet (i want to delete the whole row i don't want to clear the values)
Excel = actxserver('Excel.Application');
Workbook = Excel.Workbooks.Open(filepath);
sheet1=Excel.Worksheets.get('Item',mysheet);
sheet1.Rows.Item(nbrow).Delete
Workbook.Save;
Workbook.Close;
delete(Excel);
but when i look into the excel the row isn't deleted!! am i missing something here??

回答(1 个)

Image Analyst
Image Analyst 2015-11-12
Make Excel visible:
Excel.Visible = true;
Then set a breakpoint on the .delete line and check by looking in Excel itself if the row is deleted when you stop on the delete line.
Or try it this way:
rangeReference = sprintf('A%d..Q200', rowNumber); % Whatever range you want....
Excel.Range(rangeReference).Select;
worksheets.Item(2).Range(rangeReference).Delete;
Excel.Range('A1').Select; % Set current cell to A1
  1 个评论
Nagham Kabbara
Nagham Kabbara 2015-11-16
my method still didn't work (i don't know why honestly), so i had to use the function you suggested and it worked. thanks!

请先登录,再进行评论。

Community Treasure Hunt

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

Start Hunting!

Translated by