本帖最后由 jjkkason 于 2011-01-18 12:01:32 编辑

解决方案 »

  1.   

    /// <summary>
      /// 读取Excel文档
      /// </summary>
      /// <param name="Path">文件名称</param>
      /// <returns>返回一个数据集</returns>
      public DataSet ExcelToDS(string Path)
      {
       string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
       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");   
       return ds;
      }
    /// <summary>
      /// 写入Excel文档
      /// </summary>
      /// <param name="Path">文件名称</param>
      public bool SaveFP2toExcel(string Path)
      {
       try
       {
        string strConn = "Provider=Microsoft.Jet.OLEDB.4.0;" +"Data Source="+ Path +";"+"Extended Properties=Excel 8.0;";
        OleDbConnection conn = new OleDbConnection(strConn);
        conn.Open();  
        System.Data.OleDb.OleDbCommand cmd=new OleDbCommand ();
        cmd.Connection =conn;
        //cmd.CommandText ="UPDATE [sheet1$] SET 姓名='2005-01-01' WHERE 工号='日期'";
        //cmd.ExecuteNonQuery ();
        for(int i=0;i<fp2.Sheets [0].RowCount -1;i++)
        {
         if(fp2.Sheets [0].Cells[i,0].Text!="")
         {
          cmd.CommandText ="INSERT INTO [sheet1$] (工号,姓名,部门,职务,日期,时间) VALUES('"+fp2.Sheets [0].Cells[i,0].Text+ "','"+
           fp2.Sheets [0].Cells[i,1].Text+"','"+fp2.Sheets [0].Cells[i,2].Text+"','"+fp2.Sheets [0].Cells[i,3].Text+
           "','"+fp2.Sheets [0].Cells[i,4].Text+"','"+fp2.Sheets [0].Cells[i,5].Text+"')";
          cmd.ExecuteNonQuery ();
         }
        }
        conn.Close ();
        return true;
       }
       catch(System.Data.OleDb.OleDbException ex)
       {
        System.Diagnostics.Debug.WriteLine ("写入Excel发生错误:"+ex.Message );
       }
       return false;
      }
      

  2.   

    http://blog.csdn.net/greystar/archive/2004/08/31/90243.aspx
    http://www.cnblogs.com/shot0157/articles/930389.html
      

  3.   

    public DataSet ExcelDataSource(string filepath, string sheetname)
        {
            string strConn;
            strConn = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" + filepath + ";Extended Properties=Excel 8.0;";
            OleDbConnection conn = new OleDbConnection(strConn);
            OleDbDataAdapter oada = new OleDbDataAdapter("select * from [" + sheetname + "$]", strConn);
            DataSet ds = new DataSet();
            oada.Fill(ds);
            return ds;
        }
     DataSet ds = ExcelDataSource(@"c:\xxx.xls", "Sheet1");
     DataTable dt = ds.Tables[0];
    http://topic.csdn.net/u/20090519/17/e26a2772-1777-4ff5-a4c2-9ecd99367407.html
      

  4.   

    首先从Excel导入数据到Winform程序:        /// <summary>
            /// 从Excel导入(新建oleDb连接,Excel整表读取,适于无合并单元格时)
            /// </summary>
            /// <param name="fileName">完整路径名</param>
            /// <returns></returns>
            public DataSet ImpExcelDt(string fileName)
            {
                string strCon = " Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = " + fileName + ";Extended Properties=Excel 8.0";
                OleDbConnection myConn = new OleDbConnection(strCon);
                int start = fileName.LastIndexOf("\\");
                int end = fileName.LastIndexOf('.');
                string strCom = " SELECT * FROM [Sheet1$] ";
                myConn.Open();
                OleDbDataAdapter myCommand = new OleDbDataAdapter(strCom, myConn);
                DataSet myDataSet = new DataSet();
                myCommand.Fill(myDataSet, "[Sheet1$]");
                myConn.Close();            return myDataSet;
            }myDataSet中就是Excel 中的数据,然后你再把myDataSet中的数据写入SQL数据库
      

  5.   

    谢谢大家 不过 我说的是用excel.appplication的方法来导入