aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--RhSolutions.AddIn/Services/ExcelReader.cs10
1 files changed, 9 insertions, 1 deletions
diff --git a/RhSolutions.AddIn/Services/ExcelReader.cs b/RhSolutions.AddIn/Services/ExcelReader.cs
index 540c00a..74048c9 100644
--- a/RhSolutions.AddIn/Services/ExcelReader.cs
+++ b/RhSolutions.AddIn/Services/ExcelReader.cs
@@ -156,6 +156,10 @@ public class ExcelReader : IReader, IDisposable
public List<(string, Dictionary<Product, double>)> ReadProducts(string[] files)
{
+ HashSet<string> openedFiles = RhSolutionsAddIn.Excel.Workbooks
+ .Cast<Workbook>()
+ .Select(wb => wb.FullName)
+ .ToHashSet();
_progressBar = new("Открываю исходные файлы...", files.Length);
List<Worksheet> worksheets = new();
@@ -170,7 +174,11 @@ public class ExcelReader : IReader, IDisposable
var result = ReadProducts(worksheets);
foreach (var ws in worksheets)
{
- ws.Parent.Close();
+ string file = (string)ws.Parent.FullName;
+ if (!openedFiles.Contains(file))
+ {
+ ws.Parent.Close(SaveChanges: false);
+ }
}
return result;
}