我想简单地在我的工作簿中复制一张纸并给它一个不同的名称。
var pointName1 = workbook.Worksheets["PointName1"] as Worksheet;
pointName1.Copy(); // How do I access this newly created sheet?
理想情况下,我希望能够编写这样的方法
pointName1.CopyTo("新建工作表");
其中“New Sheet”是“PointName1”的重命名副本。
有时 PointName1 将是工作簿中的唯一工作表,有时还会有其他工作表。
最佳答案
您可以通过多种方式实现这一点 - 最简单的方法可能是在最后一张纸之后复制,然后使用索引重命名它:
Excel.Application xlApp = Marshal.GetActiveObject("Excel.Application") as Excel.Application;
Excel.Workbook xlWb = xlApp.ActiveWorkbook as Excel.Workbook;
Excel.Worksheet xlSht = xlWb.Sheets[1];
xlSht.Copy(Type.Missing, xlWb.Sheets[xlWb.Sheets.Count]); // copy
xlWb.Sheets[xlWb.Sheets.Count].Name = "NEW SHEET"; // rename
我相信这个MSDN guide也回答了你的问题。
如果要获取工作表的索引,请查找Worksheet.Index
property .
关于c# - 如何复制具有不同名称的工作表 - C# 和 Excel Interop,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27004827/