如何在Excel中删除表格,但使用VSTO保留注释?

我正在使用下面的代码片段将Excel范围与数据转换为表格。 在某些情况下,我需要删除表格,但在单元格中保留注释。 有什么办法可以实现吗? 另外,有没有办法打开/closures标题? 我尝试了XlListObjectHasHeaders: Microsoft.Office.Interop.Excel.XlYesNoGuess.下的不同选项XlListObjectHasHeaders: Microsoft.Office.Interop.Excel.XlYesNoGuess. 但那些不起作用。 谢谢你的帮助。

 finalRange.Worksheet.ListObjects.AddEx( SourceType: Microsoft.Office.Interop.Excel.XlListObjectSourceType.xlSrcRange, Source: finalRange, XlListObjectHasHeaders: Microsoft.Office.Interop.Excel.XlYesNoGuess.xlYes); 

我像这样删除表结构 –

 finalRange.Worksheet.ListObjects.Item[1].Delete(); 

编辑(多表的解决scheme):

  foreach (var table in sheet.ListObjects) { Microsoft.Office.Interop.Excel.ListObject tempObj = (Microsoft.Office.Interop.Excel.ListObject)table; Microsoft.Office.Interop.Excel.Range tempRange = tempObj.Range; tempRange.ClearContents(); } 

这两个都假设你的Tablevariables是lo

 Excel.ListObject lo = ws.ListObjects["Table1"]; 

要隐藏Excel表格中的标题行,请执行以下操作:

 lo.ShowHeaders = false; 

要删除表但保留注释,请使用range.Clear方法而不是table.Delete

 Excel.Range tableRange = lo.Range; tableRange.ClearContents();