append new rows in the middle of an excel file's sheet
3 次查看(过去 30 天)
显示 更早的评论
I am working on an excel file using actx function
then I want to add some rows in the middle of the sheet
is there a way to solve this ?

采纳的回答
Guillaume
2019-4-26
Probably the easiest way to find out the code you need to use is to record a macro in excel while you do the insertion and fix the formatting (which excel will inevitably mess up). The code you then use in matlab will be more or less identical to the VBA code generated by the macro (with adjustments for the difference in language syntax).
2 个评论
Guillaume
2019-4-28
For some reasons, I never saw your comment until today.
Once you've connected to excel with actxserver you use more or less the same commands in matlab as you would in VBA. So, yes:
excel = actxserver('Excel.Application'); %connect to excel
wb = excel.Workbooks.Open('C:\somewhere\somefolder\somefile.xlsx');
ws = wb.Worksheets.Item('Sheet1'); %One major difference is that you HAVE to use the Item property to access elements of collections
rg = ws.Range('1:4');
rg.Insert(-4121); %The other difference is that you have to use numeric values for constants. -4121 is the numeric value of XlShiftDown
更多回答(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!