Удаление листа вызывает нечитаемую ошибку файла в OpenXML - PullRequest
0 голосов
/ 27 мая 2019

Я пытаюсь удалить лист из файла Excel, и я пробовал много источников из Интернета, но я всегда получаю один и тот же результат: нечитаемый контент.

Ссылка последней: https://blogs.msdn.microsoft.com/vsod/2010/02/05/how-to-delete-a-worksheet-from-excel-using-open-xml-sdk-2-0/

Я также пробовал это:

 Sheet sheet = workbook.WorkbookPart.Workbook.Descendants<Sheet>().First(s => s.Name.Equals(sheetName));
 sheet.Remove();
 workbook.WorkbookPart.Workbook.Save();

Плюс это:

sheet.RemoveAllChildren()

Но файл всегда поврежден.

Пожалуйста!

ОБНОВЛЕНИЕ

 using (MemoryStream xlsxStream = new MemoryStream())
 {
    using (var fileStream = File.OpenRead(templatePath))
       fileStream.CopyTo(xlsxStream);
    ...
    using (var workbook = SpreadsheetDocument.Open(xlsxStream, true, new OpenSettings { AutoSave = true }))
    {
       Sheet sheet = workbook.WorkbookPart.Workbook.Descendants<Sheet>().First(s => s.Name.Equals(sheetName));
       sheet.Remove();
       workbook.WorkbookPart.Workbook.Save();
       ...
...