У меня есть приложение Windows Forms (Framework 4.6.1), которое использует Microsoft Office Interop для открытия и обработки листа Excel.Мне нужно установить фильтр для конкретной даты.Мое приложение должно работать с различными форматами даты.
У меня есть свойство, определенное ниже.Это свойство возвращает действительные даты в диапазоне 01/01/2014 - 01/01/2019
protected DateTime CurrentFileDate
{
get
{
// Some implementation to retrieve a date
}
}
Я пытаюсь установить автофильтр в столбце даты, используя значение даты (не строку)) :
var ws = xlWorkbook.ActiveSheet as Excel.Worksheet;
var r = ws.Cells[1, 1] as Excel.Range;
r.AutoFilter(3, CurrentFileDate.ToOADate());
Этот подход не работает, так как Excel интерпретирует значение как двойное, и ни одна из строк не соответствует фильтру.
r.AutoFilter(3, CurrentFileDate);
неработать, поскольку она интерпретирует дату как строку (которая не обязательно соответствует формату даты, используемому в Excel)
Есть идеи, как установить этот фильтр?