Robin Purbia Ответов: 1

Применить автофильтр по значению столбца : EPPLUS C#


Я использую EPPLUS библиотека DLL версии 5.4.0 и нужно отфильтровать таблицу по значению столбца (столбец D). Вот мой код C# для создания файла excel sheet:

DataTable dt = MappingDataset.loadQuery(dbQuery);
ExcelWorksheet sheet = excelPackage.Workbook.Worksheets.Add("SHEET 1");
sheet.Cells["A1"].LoadFromDataTable(dt, true);
string ct1 = ((dt.Rows.Count + 1) + "");
sheet.Cells["A1:F" ct1].AutoFilter = true;
sheet.Cells["A1:F" ct1].AutoFitColumns();



Столбец D будет заполнен значениями ("да","нет"). Как я могу применить автоматический фильтр строк, имеющих значение столбца D как "нет", перед сохранением файла excel.

Я пытался скрыть строки со значением столбца D как "да", но это не то, чего я пытаюсь достичь. Я не хочу скрывать строки, мне нужно отфильтровать строки со значением столбца D.

//sheet.Cells.Where(cell => cell.Address.StartsWith("D") && cell.Value.ToString().Equals("YES")).Select(cell => cell.Start.Row).ToList().ForEach(r => sheet.Row(r).Hidden = true);


Заранее спасибо за поддержку.

Что я уже пробовал:

<pre>DataTable dt = MappingDataset.loadQuery(dbQuery);
ExcelWorksheet sheet = excelPackage.Workbook.Worksheets.Add("SHEET 1");
sheet.Cells["A1"].LoadFromDataTable(dt, true);
string ct1 = ((dt.Rows.Count + 1) + "");
sheet.Cells["A1:F" ct1].AutoFilter = true;
sheet.Cells["A1:F" ct1].AutoFitColumns();


//sheet.Cells.Where(cell => cell.Address.StartsWith("D") && cell.Value.ToString().Equals("YES")).Select(cell => cell.Start.Row).ToList().ForEach(r => sheet.Row(r).Hidden = true);

1 Ответов

Рейтинг:
1

BillWoodruff

если это действительно вопрос Excel, подумайте о том, чтобы задать его на форуме Excel: [^]

если вы думаете, что это вопрос в частности, для EPPlus вы можете поднять вопрос на новом сайте epplus github: [^]