【发布时间】:2018-08-10 16:31:31
【问题描述】:
string TablePath = Storage.ProjectPath + "\\Tables\\";
string ObjectRepPath = TablePath + "ObjectRepository.xlsx";
string locType = " ";
string locParm = " ";
var workbook = new XLWorkbook(ObjectRepPath);
var ws1 = workbook.Worksheet(1).RangeUsed().RowsUsed().Skip(1);
var totalRows = ws1.Count();
var row = ws1.Row;
for (int rCnt = 1; rCnt <= totalRows; rCnt++)
{
var objPage = ws1.Cell(rCnt, 0).Value;
var objElement = ws1.Cell(rCnt, 1).Value;
if (objPage == page && objElement == element)
{
locType = ws1.Cell(rCnt, 2);
locParm = ws1.Cell(rCnt, 3);
}
}
我正在尝试使用 ClosedXML 从 Excel 文件中读取数据。我发现的每个参考资料都说您可以使用 Worksheet.Cell(r,c),但它不包含 .Cell 的定义。 .Row 也没有。我已经尝试为 ClosedXML 下的所有内容包含“使用”语句,但这也不起作用。我错过了什么?
错误给定...“IEnumerable[IXLRangeRow]”不包含“Cell”的定义,并且找不到接受“IEnumerable[IXLRangeRow]”类型的第一个参数的扩展方法“Cell”(您是否缺少使用指令还是程序集引用?)
ws1.Cell 和 ws1.Row 都出错
支持这一点的参考应该可以工作...... - Reading from Excel File using ClosedXML - https://github.com/closedxml/closedxml/wiki/Cell-Values
【问题讨论】:
-
您是否遇到特定(编译器)错误?如果是这样,请在问题中提供。如果不是,请更具体地描述您的问题,因为目前还不清楚。谢谢!
-
ws1是IXLRangeRow的序列,它没有Row属性。同样,序列中的各个行将具有Cell,但序列中没有。 -
好的,你是说这是因为我在定义我的工作表时指定了 .RangeUsed().RowsUsed 吗?在它显示的参考文献中...... var ws = workbook.Worksheets.Add("Cell Values"); var cellString = ws.Cell(6, 2);
-
@HeadlyvonNoggin 在参考示例中
ws是工作表,您的ws1不是工作表。我不太了解 API,但您获得的是IEnumerable[IXLRangeRow]。 -
@Crowcoder 好的。我认为这为我提供了足够的信息来完善我对该主题的研究。谢谢