【问题标题】:How to apply cell style to each cell in new row from previous row如何将单元格样式应用于前一行的新行中的每个单元格
【发布时间】:2015-04-17 12:23:41
【问题描述】:

我有一个 excel 表,其中包含以前带有一些格式的一些值。我想使用 c# 以编程方式添加一个新行。如何在插入操作期间将前一行的样式应用于此新添加的行?

我使用的代码如下:

Application excelApp = new Application();
            Workbooks workBooks = excelApp.Workbooks;
            Workbook workBook = excelApp.Workbooks.Open(fileName, Type.Missing, false, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing, true, Type.Missing, Type.Missing, Type.Missing, Type.Missing, Type.Missing);

            int nTotalSheets = workBook.Worksheets.Count;

            Worksheet workSheet = workBook.Worksheets[1];
            int nColumns = workSheet.UsedRange.Columns.Count;
            int nRows = workSheet.UsedRange.Rows.Count;
            workSheet.Cells[nRows + 1, 1] = "Test";
            Range excelRange = workSheet.UsedRange;
            workBook.Close(true, fileName, false);
            Marshal.ReleaseComObject(workBook);

【问题讨论】:

  • 您可以参考以下链接:stackoverflow.com/questions/17716370/…
  • @PareshJ,你给我的链接通过在中间的某处插入它来复制其他 Excel 表中的数据......但我将在最后的新行中输入来自对象的数据表格...因此我需要知道应用于每个单元格中前一行的格式...我添加了我在上面的问题中使用的代码...

标签: c# excel


【解决方案1】:

找到答案here

我正在寻找以下代码:

            workSheet.Cells[nRows + 1, 3] = DateTime.Today;
            Range sourceRange = workSheet.Cells[nRows, 3];
            sourceRange.Copy(Type.Missing);
            Range destinationRange = workSheet.Cells[nRows + 1, 3];
            destinationRange.PasteSpecial(XlPasteType.xlPasteFormats, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);
            destinationRange.PasteSpecial(XlPasteType.xlPasteFormulas, XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);

最后一行用于复制公式。

【讨论】:

    猜你喜欢
    • 2012-05-14
    • 1970-01-01
    • 2013-09-08
    • 1970-01-01
    • 2016-09-20
    • 1970-01-01
    • 2015-09-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多