none
将excel导入sqlserver2005 RRS feed

  • 问题

  •  我在网上下载的代码做的导入,在我电脑上面可以导入,后来到同事的电脑上却不能导,各位大大出出主意啊

    /先将EXCEL导入到数据库,一:先把EXCEL导入dateView,二:然后将dateView里的数据导入到数据库里面

    //EXCEL 的连接串
    string sConnectionString = "Provider=Microsoft.Jet.OLEDB.4.0;" +
    "Data Source=" +  this.FileUpload1.PostedFile.FileName.ToString() + ";" +
    "Extended Properties=Excel 8.0;";

    //建立EXCEL的连接
    OleDbConnection objConn = new OleDbConnection(sConnectionString);

    objConn.Open();

    OleDbCommand objCmdSelect =new OleDbCommand("SELECT * FROM [Sheet1$]", objConn);
    OleDbDataAdapter objAdapter1 = new OleDbDataAdapter();
    objAdapter1.SelectCommand = objCmdSelect;

    DataSet objDataset1 = new DataSet();

    objAdapter1.Fill(objDataset1, "XLData");

    // DataGrid1.DataSource = objDataset1.Tables[0].DefaultView; //测试代码,用来测试是否能读出EXCEL上面的数据
    // DataGrid1.DataBind();

    DataTable dt = objDataset1.Tables[0];
    DataView myView = new DataView(dt);



    int count=0;//用来记录出错的条数

    try
    {
    foreach (DataRowView myDrv in myView)
    {
        newspaper.insertnewspaper(myDrv[0].ToString().Trim(), myDrv[1].ToString().Trim(),
            int.Parse(myDrv[2].ToString().Trim()), myDrv[3].ToString().Trim(), int.Parse(myDrv[4].ToString().Trim()),
            float.Parse(myDrv[5].ToString().Trim()));

    count++;

    }
    }
    catch
    {
        Page.Response.Write("alert('第" + count.ToString() + "条数据出错!");
    objConn.Close();//关闭EXCEL的连接
    }

    objConn.Close();//关闭EXCEL的连接

        }


    gao
    2009年2月17日 2:33

答案

全部回复