Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/27.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#EPPlus从excel工作表中删除行_C#_Excel_Epplus - Fatal编程技术网

C#EPPlus从excel工作表中删除行

C#EPPlus从excel工作表中删除行,c#,excel,epplus,C#,Excel,Epplus,我目前正在使用一个Excel文件,该文件的前导行包含我不需要的信息。这些额外的行也会影响在下面的标题行中导入该数据。所以我试图删除它们来处理数据 using (var pack = new ExcelPackage(myFileInfo)) { // Should return the sheet name var ws = pack.Workbook.Worksheets.FirstOrDefault(); // Should Delete rows 1-5 and s

我目前正在使用一个Excel文件,该文件的前导行包含我不需要的信息。这些额外的行也会影响在下面的标题行中导入该数据。所以我试图删除它们来处理数据

using (var pack = new ExcelPackage(myFileInfo))
{
    // Should return the sheet name
    var ws = pack.Workbook.Worksheets.FirstOrDefault();
    // Should Delete rows 1-5 and shift up the rows after deletion
    ws.DeleteRow(1,5,true);
}
我原以为上述方法会奏效,但我还没有成功

我们的目标是删除第1-5行,向上移动其余的数据(可能合并可以吗?),然后将其转换为数据表


任何人都有从我的excel工作表中删除行的技巧或资源(在将其移动到datatable之前,因为这是问题发生的地方)

现有的代码将删除前5行,但您还需要对修改后的文件进行处理。您可以使用以下方法将其保存到位:

pack.Save();
或使用以下命令保存到新位置:

pack.SaveAs(new FileInfo(outputFilePath));
我上传了一个完整的例子:

如果您构建并运行该解决方案,您可以看到它在输入文件(demo.xlsx)中从此文件转换了演示文件:

要在输出文件中执行此操作,请执行以下操作:


删除前5行,所有内容都向上移动。

听起来您需要先使用foreach。。在google上搜索
C#EPPLUS Delete row from excel
@MethodMan我认为我不需要使用Foreach,因为我似乎可以删除并向上移动。那么,在代码中,您在哪里使用适当的方法重载来从只需添加参数1,5=>DeleteRow(1,5)中删除行@CSharpie我非常赞同这个建议,目前我正试图弄清楚为什么我的变量ws为null。var ws=myExcelPackage.Workbook.Worksheets.FirstOrDefault();应该给它一个合适的值我会假设。。。
static void Main(string[] args)
{
    var myFileInfo = new FileInfo("Demo.xlsx");
    using (var pack = new ExcelPackage(myFileInfo))
    {
        var ws = pack.Workbook.Worksheets.FirstOrDefault();
        ws.DeleteRow(1, 5, true);
        pack.SaveAs(new FileInfo("output.xlsx"));
    }
}