我目前正在处理一个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);
}
Run Code Online (Sandbox Code Playgroud)
我认为上面的东西会起作用,但我没有取得多大成功.
目标是删除行1-5,向上移动其余数据(可能合并会起作用吗?)然后将其转换为数据表.
任何人都有关于从我的Excel工作表中删除行的提示提示或资源(在将其移入数据表之前,因为这是问题发生的地方)
您所拥有的代码将删除前5行,但您还需要对修改后的文件进行操作。您可以使用以下方法将其保存到位:
pack.Save();
Run Code Online (Sandbox Code Playgroud)
或使用以下方法保存到新位置:
pack.SaveAs(new FileInfo(outputFilePath));
Run Code Online (Sandbox Code Playgroud)
我在这里上传了完整的示例:
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"));
}
}
Run Code Online (Sandbox Code Playgroud)
如果构建并运行该解决方案,则可以看到它从输入文件(Demo.xlsx)中转换了演示文件:
在输出文件中:
删除前5行,然后一切都移了。