如何在Excel中删除表,但保留评论使用VSTO



我使用下面的代码片段将带有数据的Excel区域转换为表格。在某些情况下,我需要删除表,但保留单元格中的注释。我有办法做到吗?此外,是否有一种方法来切换标题打开/关闭?我在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();

EDIT(多表的解决方案):

        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();        
        }

这两个都假设你的Table变量是lo:

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

在Excel表格中隐藏标题行:

lo.ShowHeaders = false;

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

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

最新更新