【问题标题】:Programmatically getting the total no. of rows having data in excel sheet using C#以编程方式获取总数。使用 C# 在 excel 表中具有数据的行数
【发布时间】:2013-09-15 01:00:39
【问题描述】:

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

我使用的代码:-

FileInfo existingFile = new FileInfo(FilePath);
        使用 (ExcelPackage 包 = 新 ExcelPackage(existingFile))
        {
            // 获取工作簿中的第二个工作表
            ExcelWorksheet 工作表 = 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

请在此处弹出您的积分以解决问题。 提前致谢。

【问题讨论】:

  • @SiddharthRout 如果他使用 EPPLUS,这将不起作用(这是一个非常好的决定)
  • @ChristianSauer:是的,你说得对。我没注意到EPPLUS :)

标签: c# excel


【解决方案1】:

你可以这样做:

var rowCount =  worksheet .Dimension.End.Row

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

显然,如果您的工作表末尾有 cmets 之类的垃圾,这将不起作用,而不是行数更多。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-01-18
    • 2010-11-17
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多