Qup*_*ppa 76
使用名为"工作表"的工作表对象,worksheet.Dimension.Start.Row和worksheet.Dimension.End.Row应该为您提供所需的信息.
worksheet.Dimension.Address将为您提供一个包含传统Excel范围格式的工作表维度的字符串(例如,对于行1-5,列1-9,'A1:I5').
有一个文档文件可用.在许多情况下,可以快速地使用库并以这种方式找到答案.EPPlus似乎设计得很好 - 至少在一切似乎都是逻辑命名的.
Kwe*_*wex 14
谢谢你的提示Quppa.我在我的出价中使用它来填充工作簿电子表格中的DataTable,如下所示:
/// <summary>
/// Converts a Worksheet to a DataTable
/// </summary>
/// <param name="worksheet"></param>
/// <returns></returns>
private static DataTable WorksheetToDataTable(ExcelWorksheet worksheet)
{
// Vars
var dt = new DataTable();
var rowCnt = worksheet.Dimension.End.Row;
var colCnt = worksheet.Dimension.End.Column + 1;
// Loop through Columns
for (var c = 1; c < colCnt; c++ )
{
// Add Column
dt.Columns.Add(new DataColumn());
// Loop through Rows
for(var r = 1; r < rowCnt; r++ )
{
// Add Row
if (dt.Rows.Count < (rowCnt-1)) dt.Rows.Add(dt.NewRow());
// Populate Row
dt.Rows[r - 1][c - 1] = worksheet.Cells[r, c];
}
}
// Return
return dt;
}
Run Code Online (Sandbox Code Playgroud)
我正在使用 4.1 版,看起来他们添加了一些属性(在之前答案的评论中提到)以使这更容易。
string Filepath = "c:\excelfile.xlsx";
FileInfo importFileInfo = new FileInfo(FilePath);
using(var excelPackage = new ExcelPackage(importFileInfo))
{
ExcelWorksheet worksheet = excelPackage.Workbook.Worksheets[1];
int rowCount = worksheet.Dimension.Rows;
int colCount = worksheet.Dimension.Columns;
}
Run Code Online (Sandbox Code Playgroud)