Я использовал библиотеку OpenXML, чтобы взять таблицу данных и вставить ее в предварительно отформатированный файл Excel. Это отлично работает.
Проблема, с которой я столкнулся, заключается в том, что в верхней части предварительно отформатированного файла Excel есть строка промежуточных итогов, в которой задан промежуточный итог для каждого столбца этих данных (поэтому в каждом столбце есть промежуточный итог). Когда я открываю файл Excel после того, как он был создан, все эти значения равны 0, они не обновлялись при вставке таблицы данных. Если вы выделите одну из этих промежуточных ячеек и нажмете клавишу ввода, она обновится и покажет правильное значение.
Какой самый простой способ обновить эти значения и отобразить правильное значение, как только пользователь откроет загруженную электронную таблицу?
Код для создания электронной таблицы:
MemoryStream memoryStream = SpreadsheetReader.StreamFromFile(TemplateDirectory + @"\" + "exceltTemplate.xlsx");
doc = SpreadsheetDocument.Open(memoryStream, true);
worksheetPart = SpreadsheetReader.GetWorksheetPartByName(doc, currentSheetName);
writer = new WorksheetWriter(doc, worksheetPart);
cellName = "A8";
writer.PasteDataTable(reports.Tables[0], cellName);
SpreadsheetWriter.Save(doc);