使用C#在Excel中复制/粘贴单元格
如何在Excel文件中选择特定的用户范围并复制这些单元格并使用C#插入复制的单元格Shift:=xlDown
。使用C#在Excel中复制/粘贴单元格
这是VBA代码,我需要转换成C#:
Range("A9:L9").Select
Selection.Copy
Rows("10:10").Select
Selection.Insert Shift:=xlDown
Range("F10").Select
我不知道如何将这个代码转换成C#代码运行。
如果have'nt试过这个呢,那么你可以尝试在此VS
添加引用到您的项目:Microsoft.Office.Interop.Excel
using Excel = Microsoft.Office.Interop.Excel;
class Program
{
static void Main(string[] args)
{
var excelapp = new Excel.Application();
excelapp.Workbooks.Add();
string path = "Your Excel Path";
Excel.Workbook workbook = excelapp.Workbooks.Open(path);
Excel.Worksheet workSheet = workbook.Worksheets.get_Item(1);
Excel.Range source = workSheet.Range["A9:L9"].Insert(Excel.XlInsertShiftDirection.xlShiftDown);
Excel.Range dest = workSheet.Range["F10"];
source.Copy(dest);
}
}
在Excel Interop编码中小心使用2个点。否则,很好的答案显示OP的编程模型(Interop vs VBA)除了sqr括号和行结束符以外完全相同。 –
感谢您为此代码m仍面临一些问题 Excel.Range source = workSheet.Range [“A9:L9”]。Insert(Excel.XlInsertShiftDirection.xlShiftDown);在这行m geting错误,即不能将bool转换为Microsoft.office.Interop.Excel.Range –
Excel.Application excelapp = new Excel.Application();
excelapp.Workbooks.Add();
string path = @"Z:\Excel operation\TestExcel\hi.xlsx";
Excel.Workbook workbook = excelapp.Workbooks.Open(path);
Excel.Worksheet workSheet = workbook.Worksheets.get_Item(1);
workSheet.Range["A9:L9"].Copy(workSheet.Range["A10:L10"]);
workSheet.Range["A10:L10"].Insert(Excel.XlInsertShiftDirection.xlShiftDown);
excelapp.Visible = true;
var source = workSheet.Range["A9:L9"].Insert(Excel.XlInsertShiftDirection.xlShiftDown);
Excel.Range dest = workSheet.Range["A10:L10"];
workSheet.Range["A9:L9"].Copy(dest);
excelapp.ActiveWorkbook.Save();
excelapp.Visible = true;
我强制代码并在其工作之上给出 –
你尝试过什么?此处没有人会为您编写代码。我认为你应该从这里寻找类似的主题开始,然后尝试使它们适应你的问题。当你有一些代码,我们很乐意帮助你:) – Ben
我搜索的代码,但它没有做和实现但它不工作。然后我需要复制并插入特定范围的单元格向下移动我试过但只有整个行越来越向下移动。我写的上面的代码是excel提供了一个选项来记录该过程中的宏我复制了它 –
编辑你的问题并把代码放在那里。您将通过一些代码获得更多反馈 – Ben