c# - 使用 EPPlus.DataExtractor 仅获取 Excel 文件中的正确行
问题描述
我正在使用EPPlus.DataExtractor
库从 Excel 文件中获取数据:
private static async Task addComptInformation(string codePoste, Poste currentPoste)
{
var stream = await comptFile.OpenStreamForReadAsync();
using (var p = new ExcelPackage(stream))
{
// get the first worksheet in the workbook
ExcelWorksheet worksheet = p.Workbook.Worksheets[0];
var endRow = worksheet.Dimension.End.Row;
var data = worksheet.Extract<Compteur>()
.WithProperty(c => c.TablRL, "A")//
.WithProperty(c => c.Charge, "A")//
.WithProperty(c => c.Energie, "A")//
.WithProperty(c => c.FactMult, "W")
.WithProperty(c => c.Type, "U")
.WithProperty(c => c.NumSerie, "T")
.WithProperty(c => c.CodePoste, "C")
.GetData(5, endRow).ToList();
foreach (Compteur c1 in data)
{
if (c1.CodePoste != null && c1.CodePoste.Equals(codePoste))
{
currentPoste.Compteurs.Add(c1);
}
}
}
}
如您所见,我获取了 Excel 文件的每一行并将其转换为Compteur
对象列表,之后我使用该列表仅保留少数匹配正确的CodePoste
.
它并没有真正优化,我不知道如何做得更好。
有没有办法只检索 Excel 文件中的正确行并将这些行转换为Compteur
对象?
解决方案
推荐阅读
- mysql - 将移动数据 (SQLite) 与服务器数据 (Mysql) 水平同步(按行)
- java - Java for Kotlin 中的包范围非空注释(由 Gradle 构建)
- javascript - 当我在同一个脚本文件中运行这两个脚本时,为什么会出现未捕获的 TypeError: Cannot set property 'src' of null?
- microsoft-graph-api - 随时刷新 Token 方法来获取日历
- networking - Traceroute 跳数根据使用的 tcp 端口而变化
- python - 用 Pandas 替换列数据 .replace 不起作用
- php - Gitlab Ci Laravel PDOException: SQLSTATE[HY000] [2002] No such file or directory
- php - 从 PDO 可调用语句中获取输出参数的正确方法
- python - How to Get all the Output
- mysql - 连接 3 个表时获取所有第一个表记录的问题