出现的问题是:
1.(当这么写时string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'")外部表不是预期的格式。
2.(当改成Extended Properties ='Excel 12.0;)时出现  找不到可安装的 ISAM。注:我使用的是office2007,需要改什么地方?如果是office2003需要改什么地方?                                 谢谢关注和解决!!!!!!!!方法如下:
====================================================================================================================public void EcxelToDataGridView(string filePath, DataGridView dgv)
        {
            //根据路径打开一个Excel文件并将数据填充到DataSet中
            string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source = " + filePath + ";Extended Properties ='Excel 8.0;HDR=NO;IMEX=1'";//导入时包含Excel中的第一行数据,并且将数字和字符混合的单元格视为文本进行导入
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            string strExcel = "";
            OleDbDataAdapter myCommand = null;
            DataSet ds = null;
            strExcel = "select  * from   [sheet1$]";
            myCommand = new OleDbDataAdapter(strExcel, strConn);
            ds = new DataSet();
            myCommand.Fill(ds, "table1");            //根据DataGridView的列构造一个新的DataTable
            System.Data.DataTable tb = new System.Data.DataTable();
            foreach (DataGridViewColumn dgvc in dgv.Columns)
            {
                if (dgvc.Visible && dgvc.CellType != typeof(DataGridViewCheckBoxCell))
                {
                    DataColumn dc = new DataColumn();
                    dc.ColumnName = dgvc.DataPropertyName;
                    //dc.DataType = dgvc.ValueType;//若需要限制导入时的数据类型则取消注释,前提是DataGridView必须先绑定一个数据源那怕是空的DataTable
                    tb.Columns.Add(dc);
                }
            }            //根据Excel的行逐一对上面构造的DataTable的列进行赋值
            foreach (DataRow excelRow in ds.Tables[0].Rows)
            {
                int i = 0;
                DataRow dr = tb.NewRow();
                foreach (DataColumn dc in tb.Columns)
                {
                    dr[dc] = excelRow[i];
                    i++;
                }
                tb.Rows.Add(dr);
            }
            //在DataGridView中显示导入的数据
            dgv.DataSource = tb;
        }

解决方案 »

  1.   

    http://www.connectionstrings.com/excel-2007
      
    *****************************************************************************
    欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
      

  2.   

    改成Provider=Microsoft.ACE.OLEDB.12.0;Data Source = " + filePath + ";Extended Properties ='Excel 12.0;HDR=YES;'
    之后就出现下面提示!!! 这是怎么回事!???未在本地计算机上注册“Microsoft.ACE.OLEDB.12.0”提供程序。
      

  3.   

    我重新安装了一遍office2007  现在的问题又是    ---   找不到可安装的 ISAM。请大家帮帮忙谢谢
      

  4.   

    问题以解决http://www.connectionstrings.com/excel-2007 
      

  5.   

    好像没有经过CSDN就解决了?
    我才刚进来,不行呀……好像现在大都停留在office2003上吧?用2007会不会有兼容性问题?
      

  6.   

    呵呵 我现在成功的解决了  office任何版本的  你可以放心使用