我正在使用 Interop.Excel 来完成这项任务。我正在尝试从一个工作簿的工作表中复制一系列单元格并将其粘贴到单独的工作簿工作表中,但我想保留源工作表中的格式并将其粘贴到目标工作表中。我找到了 PasteSpecial,并尝试使用它,但是当我尝试使用它时,我收到一条无用的异常消息:“Range 类的 PastSpecial 方法失败”,其 HResult 为 -2146827284。通过谷歌找不到任何东西,所以我希望能得到一些帮助......
我使用下面的代码来试试这个。我也尝试过使用 Excel.XlPasteType.xlPasteAll 作为 PastSpecial 方法的初始参数,这确实将数据粘贴到目标工作表中,所以我认为这很好,但当我仔细观察时,我可以看到,很明显,看起来像额外的网格线,当我点击粘贴的数据时,它是一个可以移动的整个对象,就像粘贴的可以移动的图像一样。这当然不是我想要的。这个想法是我需要保留格式和边框样式以及使用的颜色。
非常感谢您的阅读 - 如果我在帖子中的格式搞砸了,我们深表歉意。
Excel.Range rng6 = sht6.Cells.get_Range("A1", "O55");
Excel.Range rng1 = sht.get_Range("A" + rowStart6.ToString(), "O" + rowEnd6.ToString());
rng6.Copy(mis);
/** Fails here at PasteSpecial**/
rng1.PasteSpecial(Excel.XlPasteType.xlPasteFormats, Excel.XlPasteSpecialOperation.xlPasteSpecialOperationNone, false, false);