日期:2014-05-17  浏览次数:20862 次

在线急等,c#如何用操作数据库的模式来操作excel, 求大神指点~
本帖最后由 xiaoao314224236 于 2013-12-27 09:56:41 编辑
  string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" + "Data Source=" + strExcelFileName + ";" + "Extended Properties='Excel 8.0;HDR=NO;IMEX=1';";
            //Sql语句 

            string strExcel = "select * from   [sheet1$]";
            //定义存放的数据表 
            DataSet ds = new DataSet();
            //连接数据源 
            OleDbConnection conn = new OleDbConnection(strConn);
            conn.Open();
            //适配到数据源 
            OleDbDataAdapter adapter = new OleDbDataAdapter(strExcel, strConn);
            adapter.Fill(ds, strSheetName);
           
           // ds.Tables[strSheetName];
            DataTable KK = ds.Tables[strSheetName];

          

            string ss = "";

            for (int i = 0; i < ds.Tables[0].Rows.Count; i++)
            {
                for (int j = 0; j < ds.Tables[0].Columns.Count;j++ )
                {
                    ss += ds.Tables[0].Rows[i][j].ToString() + " ";
                }
            }
            ds.Tables[0].Rows[0][0] = 100;
          //  da.Update(ds, Table_name);
           [color=#FF6600] adapter.Update(ds, strSheetName);
   更新其值的时候会报错(当传递具有已修改行的 DataRow 集合时,更新要求有效的 UpdateCommand)
           conn.Close();
           return ds.Tables[strSheetName];
网上有的说是因为主键原因,但是EXCEL 没有主键,据我所知的确可以用这种方式去做的,求大神指点