Could you please provide the c# code to delete Excel Table from worksheet. Thank you!
Asked
Active
Viewed 886 times
-2
-
SO is for asking questions, and before that you should have tried to do it yourself. – James Z Nov 17 '18 at 06:14
-
James, sure, i tried. Spent several hours on this... table.xml file disappeared from the package, but the references are still in sheet.xml:
1 Answers
0
Here is the code to delete all Tables in all sheets:
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();
}

Sergey
- 47
- 5