我有一个Windows窗体应用程序(框架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使用的日期格式匹配)
关于如何设置该过滤器的任何想法?