【问题标题】:How can i select specific columns from excel sheet in c#?如何从 c# 中的 excel 工作表中选择特定列?
【发布时间】:2011-08-22 16:42:40
【问题描述】:

如何从 Excel 工作表中选择特定列而不是所有列

string connectionString = String.Format(@"Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=""Excel 8.0;HDR=YES;IMEX=1;""", txtPath.Text);
string query = String.Format("select * from [{0}$]", "Sheet1");
OleDbDataAdapter dataAdapter = new OleDbDataAdapter(query, connectionString);
DataSet dataSet = new DataSet();
dataAdapter.Fill(dataSet);
dataGridView1.DataSource = dataSet.Tables[0];    

【问题讨论】:

    标签: c# excel


    【解决方案1】:

    怎么样:

    SELECT * FROM [Sheet1$B14:C20]
    

    这应该选择单元格B14C20

    【讨论】:

      【解决方案2】:

      这听起来微不足道,但这是我从您的问题中了解到的。而不是SELECT * 使用SELECT [columnName1],[columnName2] FROM Sheet1.。这里columnName1columnName2 应该是您想从Excel Sheet 获取的列的标题。

      【讨论】:

        【解决方案3】:

        如果您想在高级选择语句中填充here is a good reference 之前选择数据。如果您想在填充 DataSet 后操作数据,那么方法如下:

        DataTable myTable = dataSet.Tables[0];
        
        var myColumn = myTable.Columns["ColumnName"];
        

        var myColumn = myTable.Columns[0];
        

        要访问单个字段,它看起来像这样。

        var field = myTable.Rows[0][myColumn];
        

        【讨论】:

        • 我需要在填充数据集之前指定列
        • @amer 我只有在知道我的列标题时才通过 Jet 引擎做到这一点。我提供了一个链接,希望对您有所帮助。
        猜你喜欢
        • 1970-01-01
        • 2017-10-17
        • 1970-01-01
        • 2013-07-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多