actxserver move data in entire row few rows down
1 view (last 30 days)
Show older comments
I am trying to use actxserver to format header row in an excel spreadsheet.
Before I manipulate header row, I would like to shift information in the second row (data row) down few rows to make additional spaces of rows between the header row and the data row.
I am having trouble doing seemingly simple task.
What I currently have is this:
function reformatHeader(excel_filename)
% Connect to the Excel COM object and open excel_filename
excel = actxserver('Excel.Application');
excel_wb = excel.Workbooks.Open(excel_filename);
sheet = excel_wb.ActiveSheet();
% Get the size of the sheet; assumes rectangular and not ragged
nColumns = sheet.Range('A1').End('xlToRight').Column;
nRows = sheet.Range('A1').End('xlDown').Row;
% Number of rows to add
nRowsToAdd = 2;
% I want to move the second row down by nRowsToAdd here
Basically the content of nRows should be moved to nRows+nRowsToAdd
There seems to be surprising little about of resources.. Is there a proper documentation with all commands?
I am using this at the moment, which isn't sufficient to do such simple operation: https://www.mathworks.com/help/matlab/matlab_external/using-a-matlab-application-as-an-automation-client.html
Thank you in advance.
0 Comments
Answers (1)
Shubham
on 6 Sep 2024
Hi Louis,
Here's how you can insert multiple rows at a specified position in an Excel sheet using MATLAB's "actxserver":
% Define the filename and path
filename = "random_data.xlsx";
filepath = fullfile(pwd, filename);
% Start an Excel application and make it visible
excelApp = actxserver('Excel.Application');
excelApp.Visible = 1;
% Open the workbook, access the first sheet, and insert a new row
workbook = excelApp.Workbooks.Open(filepath);
sheet1 = workbook.Sheets.Item(1);
% Insert 5 new rows at the second position
for i = 1:5
sheet1.Rows.Item(2).Insert();
end
% Save, close the workbook, and quit Excel
workbook.Save();
workbook.Close();
excelApp.Quit();
% Clean up
delete(excelApp);
disp('Excel workbook edited successfully.');
Refer to the following documentation link for more information on "actxserver":
Hope this helps.
0 Comments
See Also
Categories
Find more on Spreadsheets in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!