【问题标题】:Reading Excel in .NET, how to get specific rows?在 .NET 中读取 Excel,如何获取特定行?
【发布时间】:2008-11-13 01:48:28
【问题描述】:

我从here 获得了以下代码,用于使用 C# .NET 读取 Excel 文件:

string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
DbProviderFactory factory = DbProviderFactories.GetFactory("System.Data.OleDb");
DbCommand command = connection.CreateCommand()
command.CommandText = "SELECT City,State FROM [Cities$]";

我只想从第 4 行开始选择 10 行,我该怎么做?

【问题讨论】:

    标签: c# .net oledb ado


    【解决方案1】:

    我不是 Excel 查询专家,但这确实有效。使用 TOP 将查询限制为 13 行。第一行是带有列名的标题,因此它可能不算数。如果我误解了,显然会改变。然后,跟踪行 ID 并对 4 或之后的行进行处理。

    希望这会有所帮助!

    string connectionString = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=Book1.xls;Extended Properties=""Excel 8.0;HDR=YES;""";
    using (System.Data.OleDb.OleDbConnection conn = new System.Data.OleDb.OleDbConnection(connectionString)) {
        System.Data.OleDb.OleDbCommand cmd = new System.Data.OleDb.OleDbCommand();
        cmd.Connection = conn;
        cmd.CommandText = "SELECT top 13 City,State FROM [Cities$]";
    
        conn.Open();
        System.Data.IDataReader dr = cmd.ExecuteReader();
    
        int row = 2;
        while (dr.Read()) {
            if (row++ >= 4) {
                // do stuff
                Console.WriteLine("{0}, {1}", dr[0], dr[1]);
            }
        }
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-12-24
      相关资源
      最近更新 更多