How to insert new column to existing excel sheet?

19 vues (au cours des 30 derniers jours)
azizullah khan
azizullah khan le 8 Oct 2014
Modifié(e) : Guillaume le 8 Oct 2014
My aim is to insert new column/Cells (for specific range e.g B2:B8 ) with out interrupting other cells or data.More specific i want to insert New cells without disturbing remaining pattern and data. If it is possible using actxserver kindly share your experience with me thanks.

Réponse acceptée

Guillaume
Guillaume le 8 Oct 2014
Modifié(e) : Guillaume le 8 Oct 2014
Not tested:
excel = actxsever('Excel.Application');
wb = excel.Workbooks.Open('somefile.xlsx');
ws = wb.Worksheets.Item('sheetname');
ws.Range('B2:B8').Insert;
%other code
wb.Save;
excel.Quit;
delete(excel);
edited for numerous errors!
  9 commentaires
Iain
Iain le 8 Oct 2014
The easiest way is probably to use the matlab supplied xlsread and xlswrite functions:
[n t data] = xlsread(...)
data(:,3:end+1) = data(:,2:end);
data(2:8,2) = %your new stuff...
xlswrite(..., data);
But if you want to do it all yourself (and there are reasons you might), then the code in xlswrite probably tells you how to add stuff in a way you want.
Guillaume
Guillaume le 8 Oct 2014
To write values to a range:
ws.Range('B2:B8').Value = [1 2 3 4 5 6 7]'; %array must be same shape as range

Connectez-vous pour commenter.

Plus de réponses (0)

Community Treasure Hunt

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

Start Hunting!

Translated by