如何从由DataTable函数中的电子表格轻量导入数据创建的Excel中删除表中的过滤器。

时间:2016-02-25 05:34:38

标签: c# excel spreadsheetlight

我使用Spreadsheet-light创建excel文档。我需要使用一种方法"从DataTable导入数据"但是默认情况下该表有​​过滤器。我不想要这个过滤器。

enter image description here

我尝试了一种内置的Spreadsheet-light方法

sl.RemoveFilter();

删除过滤器,但它无法正常工作。任何人都可以建议如何删除此默认过滤器。 请查看我的代码。

int iStartRowIndex = 11;
int iStartColumnIndex = 2;
sl.ImportDataTable(iStartRowIndex, iStartColumnIndex, dtMyTable,true);
int iEndRowIndex = iStartRowIndex + dtMyTable.Rows.Count + 1 - 1;
int iEndColumnIndex = iStartColumnIndex + dtMyTable.Columns.Count - 1;
SLTable table = sl.CreateTable(iStartRowIndex, iStartColumnIndex, iEndRowIndex, iEndColumnIndex);
table.SetTableStyle(SLTableStyleTypeValues.Medium17);
sl.RemoveFilter();
sl.InsertTable(table);
sl.SaveAs("FileName");

1 个答案:

答案 0 :(得分:0)

这可能会让你感到震惊,但解决方案非常简单......

只需替换声明

table.HasAutoFilter = false;

用这个:

jaxb:factoryMethod

花了一些时间才弄清楚这一点......有些文件肯定需要这个!!