我正在开发一个 MVC 4 网络应用程序,其中一个要求是允许用户上传标准格式的 excel 文件并提取数据并将其保存到数据库中。我使用 linq to excel 从 excel 中读取数据。如果我从中提取数据的表从 Excel 工作表的第一行开始,这就可以正常工作。
var details = from c in excel.Worksheet<ContributionScheduleExcelFormat>() select c;
现在我的问题是,如果表格标题从第三行开始,我们如何仍然返回相同的数据?基本上,前两行需要反射(reflect)一些额外的信息,这就是为什么我的 Excel 工作表中的表格现在需要从第三行开始。我相信已经有一个函数可以从一系列单元格中获取数据。
var details = from c in excel.WorksheetRange<ContributionScheduleExcelFormat>(startRange, endRange) select c;
但是我如何获得 endRange 值呢?
我是 linq to excel 的新手,所以请提供任何帮助,我们将不胜感激。提前致谢。
最佳答案
为了其他可能有同样问题的人:
事实证明,您目前实际上无法执行此操作。唯一的解决方案是指定一个您知道您的 Excel 工作表数据不会超过的结束范围。例如:
var details = from c in excel.WorksheetRange<ContributionScheduleExcelFormat>("A3", "G16000") select c;
它一点也不漂亮,个人只是看着它让我感到不舒服,但这是目前唯一的方法。
关于C# Linq To Excel 获取不在第一行开始的表数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16330792/