Попытка объединить данные из нескольких листов Excel одной книги Excel в один лист. Каждый лист Excel содержит 50 тысяч строк и около 80 столбцов. Приложение выдает исключение «Недостаточно памяти», поскольку данные огромны.
Код:
using (SpreadsheetDocument doc = SpreadsheetDocument.Open(InputExcelFilePath, false))
{
WorkbookPart wbPart = doc.WorkbookPart;
Sheet mainRosterSheet = wbPart.Workbook.Descendants<Sheet>().Where(s => s.Name == "TestSheet").FirstOrDefault();
Worksheet mainWorksheet = ((WorksheetPart)wbPart.GetPartById(mainRosterSheet.Id)).Worksheet;
SheetData mainSheetdata = (SheetData)mainWorksheet.GetFirstChild<SheetData>();
Sheets sheetcollection = wbPart.Workbook.GetFirstChild<Sheets>();
foreach (Sheet childSheet in sheetcollection)
{
string sheetName = childSheet.Name;
if (sheetName.StartsWith("TestSheet ("))
{
Worksheet childWorksheet = ((WorksheetPart)wbPart.GetPartById(childSheet.Id)).Worksheet;
SheetData childsheetdata = (SheetData)childWorksheet.GetFirstChild<SheetData>(); //Thowing Out of Meory Exception
}
}
}
Использование библиотеки OpenXML для операций Excel.
Пожалуйста, предложите, если какая-либо вспомогательная библиотека, которая может быть использована для объединения листов Excel с огромными данными, если размер данных является ограничением с вышеупомянутым подходом.