Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# Range.PastSpecial(…)失败_C#_Excel Automation - Fatal编程技术网

C# Range.PastSpecial(…)失败

C# Range.PastSpecial(…)失败,c#,excel-automation,C#,Excel Automation,我正在使用Interop.Excel来完成此任务。 我试图从一个工作簿的工作表中复制一系列单元格并将其粘贴到单独的工作簿工作表中,但我希望保留源工作表中的格式并将其粘贴到目标工作表中。我找到了PasteSpecial,并尝试使用它,但当我尝试它时,我得到一条毫无帮助的异常消息:Range类的PastSpecial方法失败,其HResult为-2146827284。无法通过谷歌找到任何东西,所以我希望在这里得到一些帮助 我使用下面的代码来尝试这个。我也尝试过使用Excel.XlPasteType.

我正在使用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);

我想原因是这两个范围的形式不同。嗨,谢谢你的回复。对此最简单的答案是只使用一个参数:rng1.pasteSpecialXcel.XlPasteType.xlPasteFormats;