Get column name from excel worksheet

后端 未结 1 568
無奈伤痛
無奈伤痛 2021-01-24 08:37

In C#, how do I get the column name from a worksheet in an Excel file?

Here is my code so far:

ConnectionString = string.Format(\"Provider=Microsoft.ACE         


        
相关标签:
1条回答
  • 2021-01-24 09:10

    Does you connection string include the HDR=YES ?:

    Provider=Microsoft.ACE.OLEDB.12.0;Data Source=c:\myFolder\myExcel2007file.xlsx;Extended Properties="Excel 12.0 Xml;HDR=YES";
    

    Once you populate your DataTable or DataSet you can treat the usual way:

    dt.Columns[0].ColumnName
    

    Or:

    // For each DataTable, print the ColumnName.
    foreach(DataTable table in dataSet.Tables)
    {
        foreach(DataColumn column in table.Columns)
        {
            Console.WriteLine(column.ColumnName);
        }
    }
    

    Also this does not look syntax correct:

    OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM ["xlWorksheet"$]", objConn); 
    

    Should be something like:

    OleDbCommand objCmdSelect = new OleDbCommand("SELECT * FROM [" + xlWorksheet + "$]", objConn); 
    

    Finally, if you time - investigate EPPlus (open source) for reading/writing Excel - http://epplus.codeplex.com as it works in both 32-bit and 64-bit environments.

    0 讨论(0)
提交回复
热议问题