这个问题与here提出的问题非常相似。但给出的答案建议将格式与数据一起复制。我有一个使用SSIS生成的excel表(.xlsx)。现在我已在第一行设置格式,我想将其复制到工作表中已填充的所有行。我怎么能用C#做到这一点?我正在使用Excel互操作。
答案 0 :(得分:11)
您可以将PasteSpecial与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);
答案 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);
谢谢!