c# - ExcelMapper - 根据条件跳过行
问题描述
读取包含财务数据的 excel 文件并使用 ExcelMapper 将其映射到对象。
public static async IAsyncEnumerable<TReceipt> ReadBankEntry(string file)
{
using (FileStream stream = new FileStream(file, FileMode.Open, FileAccess.ReadWrite))
{
ExcelMapper mapper = new ExcelMapper()
{
HeaderRowNumer = 0 // zero is the default
MinRowNumber = 2 // actual data starts from here (skipping row=1)
// MaxRowNumber = ? this is dynamic and can change in every excel file.
};
// my mapping table here
foreach (TReceipt bankEntry in await mapper.FetchAsync<TReceipt>(stream, "Sheet1"))
{
yield return bankEntry;
}
};
}
文件中的最后 3 行包含我不需要的信息,并且还包含某些列中的字符串值,这些列应该只包含十进制类型,这最终会引发异常。从这一行开始,有些列也是空的。
例子 -
+----+-----------------+--------------+
| SL | Date | P1 |
+----+-----------------+--------------+
| | Opening Balance | USD 10254.66 |
| 1 | 01-07-2020 | 445.25 |
| 2 | 01-07-2020 | 234.80 |
| 3 | 02-07-2020 | 13.00 |
| | Total | USD 10947.71 |
+----+-----------------+--------------+
我想在数据到达这条线后停止读取数据。如何使用 ExcelMapper 做到这一点?
编辑:任何其他具有类似功能的库都可以。请注意,文件将具有 xls 扩展名(旧格式)。
解决方案
推荐阅读
- c# - 旋转雷达图 Blazorise
- python - 实现保存的 python 回归模型以响应 expo 应用程序
- .net - 如何定位多个 .NETFrameworks?
- javascript - 如何在 Web 开发中构建搜索引擎框
- lua - 当我使用 dofile() 时权限被拒绝错误
- docker - 恢复仍在运行的已删除 docker 容器
- ssl - 在 Apache Tomcat 服务器中安装 SSL 证书 - 需要准备密钥库吗?
- spring-boot - 在 Spring 云流 Azure Event Hub binder 中使用消息后没有 DB 提交
- amazon-dynamodb - 当分区键为主键时,是否有可能将 2 个不同的项目保存到同一个分区中?
- laravel - 在特定天数后更改用户角色 | 拉拉维尔