EXCEL读取Excel

解决方案 »

  1.   

    上面我用框框标记的是我要获取的字段,我要到sqlserver里面创建表,字段就是那些,我这代码是从第二行开始读取的,不知道怎么搞,求大神解决
      

  2.   

    连接字符串里好像有个设置HDR = No
      

  3.   

    这个我试了,就在后面加的,不过一加就报错,说“找不到可安装的isam”,我读取的是csv格式的文件
      

  4.   


                DataTable excelTable = new DataTable();
                foreach (DataColumn m in excelTable.Columns)
                {
                    // m.ColumnName;         ---列名
                    // m.DataType;           ---列类型
                }
      

  5.   


    DataTable dt = Import(path);
                dataGridView1.DataSource = dt;private DataTable Import(string path)
            {
                DataTable dt = new DataTable();
                string conn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + path + ";Extended Properties='Excel 8.0;HDR=Yes;IMEX=1'";
                OleDbConnection MyConnection = new OleDbConnection(conn);
                OleDbDataAdapter MyCommand = new OleDbDataAdapter("select " + txt_column.Text + " from [" + txt_sheet.Text + "$] where " + txt_account.Text + " <> ''", MyConnection);
                try
                {
                    MyConnection.Open();
                    MyCommand.Fill(dt);
                }
                catch (Exception e)
                {
                    MessageBox.Show("导入数据错误:" + e.Message);
                }
                finally
                {
                    MyConnection.Close();
                    MyCommand = null;
                    MyConnection = null;
                }
                return dt;
            }
      

  6.   


    至于你要获取第一行,直接遍历columns的cation:
    foreach (DataColumn item in dt.Columns)
                {
                    //do someting
    //不过这种方式不太好,如果excel大了会很浪费时间,导入几分钟就为得到个表头。
                }
      

  7.   

    oledbschdule...有数据表,列等相关信息。