Copy format from one row to another using c#

21,694

Solution 1

You can use PasteSpecial with xlPasteFormats.

Excel.Range R1 = (Excel.Range)oSheet.Cells[11, 11];
R1.Copy(Type.Missing);

Excel.Range R2 = (Excel.Range)oSheet.Cells[15, 15];
R2.PasteSpecial(Excel.XlPasteType.xlPasteFormats,
    Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);

Solution 2

So you want to copy format from first cell and apply it to all your sheet.

There is a way to process:

 Range sourceRange = sheet.get_Range("A1:A1");
 sourceRange.Copy();

 Range last = sheet.Cells.SpecialCells(XlCellType.xlCellTypeLastCell, Type.Missing);
 Range destinationRange = sheet.get_Range("A1", last);

 destinationRange.PasteSpecial(XlPasteType.xlPasteFormats);
Share:
21,694
trailblazer
Author by

trailblazer

Updated on July 09, 2022

Comments

  • trailblazer
    trailblazer almost 2 years

    This question is quite similar to the one asked here. But the answer given suggests copying the format along with the data. I have a excel sheet (.xlsx) that I generate using SSIS. Now I have set the formatting in first row, which I want to copy to all the rows that are already filled in the worksheet. How can I do that using C#? I am using Excel interop.