使用c#将格式从一行复制到另一行

时间:2013-08-30 23:28:05

标签: c# excel ssis formatting excel-interop

这个问题与here提出的问题非常相似。但给出的答案建议将格式与数据一起复制。我有一个使用SSIS生成的excel表(.xlsx)。现在我已在第一行设置格式,我想将其复制到工作表中已填充的所有行。我怎么能用C#做到这一点?我正在使用Excel互操作。

3 个答案:

答案 0 :(得分:11)

您可以将PasteSpecialxlPasteFormats一起使用。

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);

答案 1 :(得分:3)

因此,您希望从第一个单元格中复制格式并将其应用于所有表单

有一种方法可以处理:

 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);

答案 2 :(得分:0)

我使用它作为mickro解释并且它工作得很好!!!!!

                Range contentAlarms =exlWsheetAlarms.get_Range("A1:G"+countList);
                contentAlarms.Copy(Type.Missing);

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

                destinationRange.PasteSpecial(XlPasteType.xlPasteFormats);

谢谢!