Excel Interop按日期自动过滤

时间:2018-09-15 14:44:54

标签: c# excel-interop

我有一个Windows窗体应用程序(框架4.6.1),该应用程序使用Microsoft Office Interop打开和处理Excel工作表。我需要为特定日期设置过滤器。我的应用程序需要使用不同的日期格式。

enter image description here

我有一个像下面这样定义的属性。此属性返回的有效日期范围为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使用的日期格式匹配)

关于如何设置该过滤器的任何想法?

0 个答案:

没有答案