c# - 使用 C# 互操作过滤 Excel 列中两个特定日期之间的日期
问题描述
只是尝试使用 c# 过滤 Excel 中的列。
我的重点是根据两个日期过滤列。
Input_1:从日期 (dd-mmm-yy) 例如:01-Dec-18
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);
仍然没有帮助!我开始想,不可能通过互操作来做到这一点!
解决方案
以下代码对我有用。您只需要将附加参数传递给 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 才能正常工作。
推荐阅读
- ruby-on-rails - 从rails中的子对象访问父对象?
- hyperledger-fabric - 对等链码实例化 - 实例化策略违规:签名集不满足策略
- java - 读取 txt 文件时出错
- python - panda 按函数聚合
- java - 如何通过 Selenium 和 Java 根据 html 提取“src”属性
- reactjs - 如何在反应中映射来自 API 的响应
- c++ - 通过引用在单独的函数中修改 Rcpp::List 的一个小节
- ansible - Ansible 子元素查找需要字典
- javascript - 如何在mongodb中保存window.onunload数据?
- c# - 多个对撞机 - 如何使对撞机对某些对象不可见