首页 文章

以编程方式获得总数 . 使用C#在excel表中包含数据的行

提问于
浏览
0

我的是C#控制台应用程序 . 我正在尝试以编程方式获取具有excel表数据的行数,使用带有EPPlus库引用的C# . 我想使用for循环读取excel电子表格的所有记录 . 所以我需要指定该循环的上限 .

我使用的代码: -

FileInfo existingFile = new FileInfo(FilePath);
        using (ExcelPackage package = new ExcelPackage(existingFile))
        {
            // get the second worksheet in the workbook
            ExcelWorksheet worksheet = package.Workbook.Worksheets[2]; 

        // output the data in column 2
        StringBuilder sb = new StringBuilder();

        for (int row = 2; row < 7; row++)
        {
            sb.Append("<tr>");
            for (int col = 2; col < 11; col++)
            {
                if (col == 7)
                    sb.Append("<td valign='top' border='1'><a href='https://na7.salesforce.com/'" + worksheet.Cells[row, col].Value + ">" + "https://na7.salesforce.com/" + worksheet.Cells[row, col].Value + "</td>");
                else
                    sb.Append("<td valign='top' border='1'>" + worksheet.Cells[row, col].Value + "</td>");
            }
            sb.Append("</tr>");
        }
    }

现在我静静地提到代码必须检索7行[for(int row = 2; row <7; row)] . 这里必须动态计算7(在运行期间) .

请在这里弹出你的观点来解决问题 . 提前致谢 .

1 回答

  • 0

    你可以这样做:

    var rowCount =  worksheet .Dimension.End.Row
    

    这将返回包含数据的最后一行的编号 . 比你可以简单地循环直到这个数字 .

    显然,如果你在yor表的末尾有像垃圾一样的垃圾,那么这将不会有效 .

相关问题