我正在加载一个excel文件,用于批量更新主数据中的数据。我有4张床单。出口,县,组织,设置。只有导出可见。其他的东西都藏起来了。
文件加载非常慢。最多需要2-3分钟。
我已经找到问题了。当我取消隐藏每个工作表并加载文件时,根本就没有性能问题。我们不想把床单拿出来,以免给顾客带来混乱。我制作了一个小的控制台应用程序来测试这种行为。
private static void Main(string[] args)
{
using (var package = new ExcelPackage(new FileInfo(@"")))
{
var wb = package.Workbook;
var wsheets = wb.Worksheets;
var settings = wsheets["Settings"];
}
Console.ReadKey();
}
WB快
当我的床单藏起来的时候,床单真的很慢,不藏的时候,床单真的很快。
获取设置加载一个wsheets很快。
除了解开床单,我该怎么办?
更新
我们进一步调试了这个问题,隐藏/未隐藏的列是一个假阳性。当我们停止调试并再次启动它时,由于超时时间太长,调试器仍然能够以某种方式获取旧结果。
我现在找到了真正的罪魁祸首。当我们使用epplus导出文件时,最终用户应该编辑数据,将其上载回ui进行验证。当用户上传同一个文件时,与未编辑该文件而导出的文件一样,会发生此长操作。
这是一个相当奇怪的行为,但既然每个人都应该编辑和保存文件,我将不再花时间试图解决这个问题。