代码之家  ›  专栏  ›  技术社区  ›  Bill Tür stands with Ukraine Ajay Pawar

如何在Spire.XLS中克隆工作簿?

  •  0
  • Bill Tür stands with Ukraine Ajay Pawar  · 技术社区  · 7 年前

    Spire.Xls.Workbook 我要克隆的对象。因为这个班不提供 Clone 方法我尝试创建一个新工作簿并从现有工作簿复制所有现有工作表。这是我的密码:

    public void Clone(Workbook workbook, string fileName)
    {
        var clone = new Workbook();
    
        // copy worksheets to List to be able to use foreach
        var worksheets = workbook.Worksheets
            .Cast<Worksheet>()
            .ToList();
    
        foreach (Worksheet worksheet in worksheets)
        {
            var clonedSheet = worksheet.Clone(worksheet.Parent);
            clone.Worksheets.Add((IWorksheet)clonedSheet);
        }
    
        clone.SaveToFile(fileName, ExcelVersion.Version2007);
    }
    

    Workbook

    1 回复  |  直到 7 年前
        1
  •  0
  •   Dheeraj Malik    7 年前

    用途:

        clone.Worksheets.AddCopy(worksheets);
    
        2
  •  0
  •   Bill Tür stands with Ukraine Ajay Pawar    5 年前

    @DheerajMalik's answer .xlsx 文件夹。如果你有 .xlsm

    using (var stream = new MemoryStream())
    {
        // Save the original to a memory stream
        workbook.SaveToStream(stream);
    
        // Create a new workbook and load the content from the memory stream
        var clone = new Workbook();
        clone.LoadFromStream(stream);
    }
    
    推荐文章