5

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

4

3 回答 3

12

您可以将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);
于 2013-08-30T23:50:29.650 回答
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);
于 2013-08-30T23:53:21.660 回答
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);

谢谢!

于 2014-07-24T20:44:50.720 回答