做了一个表格筛选,首先先排序,然后再筛选带颜色的,但是导出EXCLE文件时提示we found a problem with some connect EXCLE。我觉的是我排序的筛选器和筛选颜色的筛选器重复了,哪位大佬帮忙看一下,怎样清除排序的筛选器呀。下面是代码。
//创建过滤器
worksheet.ListObjects.Create("Table", worksheet.Range[1, 1, worksheet.LastRow, worksheet.LastColumn]);
worksheet.ListObjects[0].BuiltInTableStyle = TableBuiltInStyles.TableStyleLight9;
//指定需要排序的列,以及排序的方式 (基于单元格的值)
SortColumn column = workbook.DataSorter.SortColumns.Add(3, SortComparsionType.Values, OrderBy.Ascending);
//排序是否包含标题(默认第一个数据为标题,不会对它进行排序)
workbook.DataSorter.IsIncludeTitle = false;
//指定要排序的单元格范围并进行排序
workbook.DataSorter.Sort(worksheet.Range[2,2,iSheetRow_amount,4]);
for (int i = 2; i <= iSheetRow_amount; i++)
{
string Cbcmp = worksheet.Range[i, XlsColCbNr].Value.ToString();
string Cbcmp1 = worksheet.Range[i+1, XlsColCbNr].Value.ToString();
if (Cbcmp == Cbcmp1)//如果上下电缆芯线相同
{
worksheet.Range[i, XlsColCbNr - 1].Style.Color = Color.Red;//标注颜色
worksheet.Range[i + 1, XlsColCbNr - 1].Style.Color = Color.Red;//标注颜色
checkResult = false;
}
oFrmProgressBar.myProgressBar.Value = 50 + (100 - 50) * i / iSheetRow_amount;
}
oFrmProgressBar.myProgressBar.Value = 100;
worksheet.DeleteColumn(4);
string oMessageText;
if (checkResult == false)
{
oMessageText = "Warning! Please check the Cable list for detail!";
//filter to red cells
//AutoFiltersCollection filters = worksheet.AutoFilters;
worksheet.AutoFilters.Range = worksheet.Range[1, 1, iSheetRow_amount, 3];
worksheet.AutoFilters.AddFillColorFilter(2, System.Drawing.Color.Red);
worksheet.AutoFilters.Filter();