只需尝试使用c#过滤Excel中的列。
我的重点是根据两个日期过滤列。
输入_1:从日期(dd-mmm-yy)开始,例如:18年12月1日
Input_2:迄今为止(dd-mmm-yy),例如:18年12月10日
Excel列包含dd-mm-yyyy中的随机日期(例如:07-11-2018)
如何在此列中应用过滤器,以便我可以在提到的日期内将列日期修改为Input_1和Input_2
我尝试将过滤器应用于列:
excelRange.AutoFilter(excelDATESColumn_Number,FromDateInput_1,Excel.XlAutoFilterOperator.xlAnd,Missing.Value, true);
仍然没有帮助! 我开始认为,不可能通过Interop做到这一点!
答案 0 :(得分:1)
以下代码对我有用。您只需要将其他参数传递给AutoFilter方法。
DateTime dt1 = new DateTime(2018, 11, 06);
DateTime dt2 = new DateTime(2018, 11, 13);
var r = excelRange.AutoFilter(3, ">=" + dt1.ToOADate(), Excel.XlAutoFilterOperator.xlAnd, "<=" + dt2.ToOADate());
注意,我必须将日期转换为OADate才能正常工作。