从一个Excel文件中读取数据到DataTable,需要从指定的行列读取,然后Save到数据库中
或者直接从Excel中读取数据,直接Save到数据库中
看网上的都是直接整个sheet的数据读进去
请各位帮忙,谢谢!

解决方案 »

  1.   

            public static DataSet ImportExcel(string file)
            {
                FileInfo fileInfo = new FileInfo(file);
                if (!fileInfo.Exists)
                    return null;            string strConn = @"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + file + ";Extended Properties='Excel 8.0;HDR=NO;IMEX=1'";
                OleDbConnection objConn = new OleDbConnection(strConn);
                DataSet dsExcel = new DataSet();
                try
                {
                    objConn.Open();
                    string strSql = "select TOP 10 * from  [Sheet1$]";   //修改这条SQL,应该能实现从第几条到第几条
                    OleDbDataAdapter odbcExcelDataAdapter = new OleDbDataAdapter(strSql, objConn);
                    odbcExcelDataAdapter.Fill(dsExcel);
                    return dsExcel;
                }
                catch (Exception ex)
                {
                    throw ex;
                }
            }
      

  2.   

     private DataTable FromExcel()
            { 
                    string strConn;
                    strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=lieche.xls;Extended Properties='Excel 8.0;HDR=False;IMEX=1'";
                    OleDbConnection OleConn = new OleDbConnection(strConn);
                    OleConn.Open();
                    String sql = "SELECT * FROM  [Sheet1$]";//改变这sql语句取你需要的                OleDbDataAdapter OleDaExcel = new OleDbDataAdapter(sql, OleConn);
                    DataSet OleDsExcle = new DataSet();
                    OleDaExcel.Fill(OleDsExcle, “lieche”);
                    OleConn.Close();
                    return OleDsExcle.table[0];
    }
      

  3.   

     string strSql = "select TOP 10 * from  [Sheet1$]";   //修改这条SQL,应该能实现从第几条到第几条
    ------------------------------------------------------
    关键就是这里不会啊,不知道如何从第N行N列取数据
      

  4.   

    select top 10 * from table where id  not in (select top 30 id from table )
      

  5.   

    EXCEL中的格式Address dalsld
    Company xxx
    Tel xxx
    SN PARTNO DCODE Desciption       --第四行
    11111 98898-001 J9767 XXXX
    22222 98898-002 J9768 XXXX
    我要从SN的下一行开始读取数据
      

  6.   

    把Excel读到一个Table中,你再找不是很方便了吗?
      

  7.   

    如果读到DataTable里面有很多垃圾数据,怎么show出来给user看?
      

  8.   

    //可以全部读取到DataTable中,
    再根据需要操作DataTable中的行列插进数据库
    DataTable.Rows[i][j]
      

  9.   

    可用DataTable.Select('条件')筛选出你需要的记录
      

  10.   

    string sqlExcel = ("select * from [计划上sheet$A3:D8]"); sheet$后面是范围A3到D8的 如果行不确定 要取到后面行  就把D8改成D