OdbcConnection Microsoft Excel Driver只读第一行第一列

本文关键字:一行 一列 Microsoft Driver OdbcConnection Excel 只读 | 更新日期: 2023-09-27 17:51:06

我的c#代码正在为excel文件工作,并且正在读取所有行,但对于另一个文件,它仅读取第一行和第一列。连接字符串:

sConnStr1 = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};Dbq=" + info1.FullName + ";DefaultDir=" + info1.Directory + ";";
代码:

    System.Data.Odbc.OdbcConnection conn;
    DataTable dt1 = new DataTable();
    System.Data.Odbc.OdbcDataAdapter da;
    string file = sFilePath;
        conn = new System.Data.Odbc.OdbcConnection(sConnStr1);
        da = new System.Data.Odbc.OdbcDataAdapter(sDAstr1, conn);
        da.Fill(dt1);

有人能给我指路吗?这是我完成申请所面临的最后一个问题。

OdbcConnection Microsoft Excel Driver只读第一行第一列

上面的代码应该工作,除非你在excel中有一个特定的格式。下面是一个示例代码,我已经尝试打开多个excel文件,并正在工作。

    try
        {
            string connectionString = @"Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=C:'Temp'temp.xlsx;";
            System.Data.Odbc.OdbcConnection connection;
            System.Data.DataTable dataTable = new System.Data.DataTable("excelImport");
            System.Data.Odbc.OdbcDataAdapter dataAdapter;
            string m_selectSQL = "SELECT * FROM [Sheet1$]";
            connection = new System.Data.Odbc.OdbcConnection(connectionString);
            dataAdapter = new System.Data.Odbc.OdbcDataAdapter(m_selectSQL, connection);
            dataAdapter.Fill(dataTable);
        }
        catch (Exception e)
        {
        }