我有一个excel有三个工作表,原始数据,数据透视表和数据透视表 . 由于原始数据将由具有未知行数的代码更新,因此我选择整列作为数据源 . 刷新数据透视表时,它始终在原始数据中获得一些空行,因此数据透视表中将有一个(空白)行 .
我想过滤掉同一程序中的(空白)行 . 到目前为止,我已经阅读了excel文件,但我不知道如何过滤(空白)行,谢谢 .
Application exApp = new Application();
Workbook exWbk = exApp.Workbooks.Open(targetPath);
PivotTable pivotTb = exWbk.Sheets[1].pivotWorkSheet.PivotTables("Report");
1 回答
表在一个范围内具有许多优点,其中最重要的是在添加或删除行时自动调整大小 . 如果您的自动刷新以某种方式 not 删除行(只是内容),这是通过这样的方式解决(假设"Table1"是您的表的名称):
将数据透视表的数据源更改为表(在Excel中 - 永久) . 这应该省略任何空白行 .
刷新数据透视表:
pivotTb.RefreshTable();
如果您真的不想将范围转换为表格,那么我建议您动态修改数据透视表的源数据 .
下面是一个如何动态更改数据透视表的范围的示例,使用A1:C8作为示例范围:
关于如何定义使用范围的建议不乏,但万一你没有办法:
How to get the range of occupied cells in excel sheet