Удалить таблицу в листе Excel с OpenXml SDK - PullRequest
0 голосов
/ 16 ноября 2018

Не могли бы вы предоставить код c # для удаления таблицы Excel из таблицы. Спасибо!

1 Ответ

0 голосов
/ 20 ноября 2018

Вот код для удаления всех таблиц на всех листах:

 using (SpreadsheetDocument xl = SpreadsheetDocument.Open(targetFile, true))
        {
            WorkbookPart workbookPart = xl.WorkbookPart;
            foreach (WorksheetPart sheet in workbookPart.WorksheetParts)
            {
                List<TableDefinitionPart> TableDefinitionPartToDelete = new List<TableDefinitionPart>();
                var TableParts = sheet.Worksheet.WorksheetPart.Worksheet.Descendants<TablePart>();

                List<TablePart> TablePartToDelete = new List<TablePart>();

                foreach (var Item in TableParts)
                {
                    TablePartToDelete.Add(Item);
                }
                foreach (var tp in TablePartToDelete)
                {
                    tp.Remove();
                }

                foreach (TableDefinitionPart Item in sheet.TableDefinitionParts)
                {
                    TableDefinitionPartToDelete.Add(Item);
                }

                foreach (TableDefinitionPart Item in TableDefinitionPartToDelete)
                {               
                    sheet.DeletePart(Item);
                }
            }

            xl.Close();
        }
...