从Excel工作表中检索值

时间:2015-11-30 06:15:32

标签: c# excel

嘿伙计们我在1997年到2003年的格式中制作了一个excel文件,我正在尝试从excel表中读取值,但它正在抛出"外部表格不是预期的格式。"错误。我已经在我的机器上安装了microsoft 2013办公室。

        var fileName = @"C:\Users\Abhineet\Documents\True XL.xls.";
        var connectionString = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" + fileName + ";Extended Properties=\"Excel 12.0;IMEX=1;HDR=NO;TypeGuessRows=0;ImportMixedTypes=Text\""; ;
        using (var conn = new OleDbConnection(connectionString))
        {
            conn.Open();

            var sheets = conn.GetOleDbSchemaTable(System.Data.OleDb.OleDbSchemaGuid.Tables, new object[] { null, null, null, "TABLE" });
            using (var cmd = conn.CreateCommand())
            {
                cmd.CommandText = "SELECT * FROM [" + sheets.Rows[0]["TABLE_NAME"].ToString() + "] ";

                var adapter = new OleDbDataAdapter(cmd);
                var ds = new DataSet();
                adapter.Fill(ds);
            }
        }
        Console.WriteLine("Success");
    }

请帮忙

1 个答案:

答案 0 :(得分:0)

你可以尝试这个,用这个替换命令文本行:

cmd.CommandText = "SELECT * FROM [" + sheets + "] ";