我有以下代码,使用EPPlus库在excel工作表的范围内迭代,现在我想使用ClosedXML库实现相同的功能:
ExcelWorksheet workSheet = package.Workbook.Worksheets.First();
DataTable table = new DataTable();
foreach (var firstRowCell in workSheet.Cells[1, 1, 1, workSheet.Dimension.End.Column])
{
table.Columns.Add(firstRowCell.Text);
}
我试过了:
ExcelWorksheet workSheet = package.Workbook.Worksheets.First();
DataTable table = new DataTable();
foreach (var firstRowCell in workSheet.Range(1,1,LastRowUsed().RowNumber(),LastColumnUsed().ColumnNumber()))
{
table.Columns.Add(firstRowCell.Value.ToString());
}
但是它抛出一个异常,foreach不能迭代IXLRange类型变量,因为它没有任何GetEnumerator定义,所以如何解决这个问题?
使用Cells()
属性来迭代范围内的单元格(与原始代码相比,您也应该替换LastRowUsed().RowNumber()
,或者这是故意的?):
ExcelWorksheet workSheet = package.Workbook.Worksheets.First();
DataTable table = new DataTable();
foreach (var firstRowCell in workSheet.Range(1,1,1,LastColumnUsed().ColumnNumber()).Cells())
{
table.Columns.Add(firstRowCell.Value.ToString());
}