如何使用EPPlus for .NET将excel工作表从文件复制到另一个文件

时间:2018-03-14 15:15:58

标签: .net excel excel-vba epplus vba

鉴于以下情况:

  • 我有一个包含多个工作表的source.xlsx文件(worksheet1,worksheet2,workshToCopy等),我根据另一个.xlsx模板文件生成destination.xlsx,该文件具有与source.xlsx不同的工作表。我想将源文件中的工作表添加到目标文件中。

现在我能够将一个空的工作表添加到我的目标文件中,如下所示:

if (FileExists(outputFile) && FileExists(inputFile))
{
  var inputPackage = new ExcelPackage(inputFile);
  var outputPackage = new ExcelPackage(outputFile);

  var summaryInputWorksheet = inputPackage.Workbook.Worksheets[ExcelSummaryHelper.SummaryWorksheet];
  outputPackage.Workbook.Worksheets.Add(summaryInputWorksheet.Name);
  outputPackage.Workbook.Worksheets.MoveToEnd(summaryInputWorksheet.Name);
  outputPackage.Save();
}

使用EPPlus库将workshToCopy的内容从source.xlsx复制到destination.xlsx的新工作表的最佳方法是什么?

2 个答案:

答案 0 :(得分:3)

解决。

ExcelWorksheets类上的Add方法有一个重载,如下所示:

ExcelWorksheets.Add(string Name, ExcelWorksheet Copy)

无法相信我还没有看到它。

答案 1 :(得分:1)

您不能克隆现有的吗?

buildscript {
    dependencies {
        classpath 'com.github.jengelman.gradle.plugins:shadow:4.0.2'
    }
}

apply plugin: 'com.github.johnrengelman.shadow'    

...

// Outputs to build/libs/dolphin-web-<version>.jar
shadowJar {
   baseName = 'dolphin-web'
   classifier = null
   version = getVersionCode()
}