protected void btnOK_Click(object sender, EventArgs e)
    {
        string sPath = Server.MapPath("~/UploadFiles/");
        FileManager FileMng = new FileManager();   // 自定义的FileManager类
        if (FileMng.Upload(FileUpload1, sPath) == "")   // 如果上传成功
        {
            string sFile = sPath + FileUpload1.FileName;         
            string sCon = "Provider=Microsoft.Jet.OLEDB.4.0;Data  Source=" + sFile + ";Extended   Properties='Excel   8.0;HDR=YES;IMEX=1';"; //IMEX=1   用来转换文本   
            OleDbConnection OleCon = new OleDbConnection(sCon);
            OleDbDataAdapter OleDAp = new OleDbDataAdapter("SELECT   *   FROM   [Sheet1$]", OleCon);
            DataSet ds = new DataSet();
            OleDAp.Fill(ds, "[Sheet1$]");  // 找不到可安装的 ISAM。!!!
            int iCityID;
            string  sCityNam, sCityLevel,sSQL;
            foreach (DataRow dr in ds.Tables[0].Rows)
            {
                iCityID=int.Parse( dr["CityID"].ToString());
                sCityNam = dr["CityNam"].ToString();
                sCityLevel = dr["CityLevel"].ToString();
                sSQL = "insert into city(CityID,CityNam,CityLevel) values("+iCityID+",'"+sCityNam+"','"+sCityLevel+"')";
                try
                {
                    Function.ExecuteSQL(sSQL);  // 调用Function类
                }
                catch (Exception)
                {
                    Page.RegisterStartupScript("", Function.GetAlertInfo("数据导入失败!"));
                    return;
                }
                
            }
        }搜索了一下,,大概知道是连接串写错了。。可是不知道改

解决方案 »

  1.   

    看看跟这个相似么:
    http://topic.csdn.net/t/20031105/11/2428852.html
      

  2.   

    to tian123xxx(tianliq):看看跟这个相似么:
    http://topic.csdn.net/t/20031105/11/2428852.html------没什么帮助。。看不太懂~
      

  3.   

    除了字段问题,你应该查一下你的注册表,里面有几个注册字段的 设置有问题,因为装了office以后,就会将本来的一些 dll文件替换掉 ,你自己招招,有这个专题BLOG的 ,好像是个 高手写的 东西,我 帮你翻翻http://sina-1.net/html/taobao/archives/2007/2030.html
      

  4.   

    string sCon = ("provider=Microsoft.Jet.OLEDB.4.0;data source=" + sFile + ";Extended Properties=Excel 8.0;HDR=YES;");
    这个可以...
    一加HDR=YES;或IMEX=1;就不行了
    没IMEX=1好象有些字段转换有问题...
      

  5.   

    晕 ~~写错了
    string sCon = ("provider=Microsoft.Jet.OLEDB.4.0;data source=" + sFile + ";Extended Properties=Excel 8.0;
    这个可以...
    一加HDR=YES;或IMEX=1;就不行了
    没IMEX=1好象有些字段转换有问题...
      

  6.   

    string sCon = ("provider=Microsoft.Jet.OLEDB.4.0;data source=" + sFile + ";Extended Properties=Excel 8.0;");
      

  7.   

    //****导入数据处理
        protected void btnInputDJJBXX_ServerClick(object sender, EventArgs e)
        {
            //*****获取要导入的文件        //****1、获取上传的文件中径
            string mFilePath = "UploadFile/DJJBXXTempte/InputExcel/" + hidInputFilePath.Value;        string mUploadPath = Server.MapPath("~/" + mFilePath);        //****2、验证文件是否存在
            if (File.Exists(mUploadPath) == false)
            {
                return;
            }        //****调用开发库类
            UFIDAFramework.CommonLibrary.Reports.ExcelAccess.ExcelAccess mExcelAccess = new UFIDAFramework.CommonLibrary.Reports.ExcelAccess.ExcelAccess();        //****3、打开Excel文件
            mExcelAccess.Open(mUploadPath);        //****4、读取Excel单元格数据
            Excel.Range strDJJBXXBH = mExcelAccess.GetRange(1, "HO");
            Excel.Range strDJYSBH = mExcelAccess.GetRange(1, "IQ");
            Excel.Range strF_DJMBBH = mExcelAccess.GetRange(1, "IM");        //****5、得到单机基本信息编号
            string mF_DJJBXXBH = (string)strDJJBXXBH.Text;
            string DJYSBHDBParamtes = (string)strDJYSBH.Text.ToString().Replace("'", "").Replace("'", "");
            string DJMBBH = (string)strF_DJMBBH.Text;
            //****6、导入文件格式不正确,就退出
            if (mF_DJJBXXBH == "" || DJYSBHDBParamtes == "")
            {
                Page.ClientScript.RegisterStartupScript(typeof(string), "msg", "<script>alert('导入文件模版格式不正确,请重新选择!');</script>");
                return;
            }        //****7、重第4行开始读取数据
            int intRow = 5;        int rowIndex = 0;        do
            {
                //****获得前三个单元格的值
                string strF_ZCH = "";
                string strF_BH = "";
                int strF_YJFS = 1;
                string F_DJJBXXBH = "";
                string DBParamtes = "";            string[] DJDBParamtes = mF_DJJBXXBH.Split(',');            //****获取处理哈
                if (rowIndex >= DJDBParamtes.Length)
                {
                    F_DJJBXXBH = "";
                }
                else
                {
                    F_DJJBXXBH = DJDBParamtes[rowIndex];
                }            //****获取相应数据
                strF_ZCH = mExcelAccess.GetCellText(intRow, 1);
                strF_BH = mExcelAccess.GetCellText(intRow, 2);
                strF_YJFS =YJFSConvert(mExcelAccess.GetCellText(intRow, 3));            //*****构造单机基本信息编号
                string BulidDJJBXXDBParamtes = F_DJJBXXBH + "~" + strF_ZCH + "~" + strF_BH + "~" + strF_YJFS;            //****11、拆分要素编号
                string[] mDJYSBH = DJYSBHDBParamtes.Split(',');            int intColIndex = 0;            //****8、循环获取行数据处理
                for (int i = 4; i <= mDJYSBH.Length; i++)
                {
                    intColIndex++;                if (DBParamtes == "")
                    {
                        DBParamtes = mExcelAccess.GetCellText(intRow, i) + "~" + mDJYSBH[intColIndex - 1].ToString();
                    }
                    else
                    {
                        DBParamtes += "\t" + mExcelAccess.GetCellText(intRow, i) + "~" + mDJYSBH[intColIndex - 1].ToString();
                    }            }            //****调用相应接口,更新数据处理
                bool IsSucerity = (new ServiceProxy.Service()).DJ_JBXX_ExcelInput_Interface(BulidDJJBXXDBParamtes, DBParamtes, DJMBBH);            if (IsSucerity == false) break;            intRow++;            //****获取单机基本信息编号
                rowIndex++;        }        while (mExcelAccess.GetCellText(intRow, 1).ToString() != "");        //***9、关闭报表
            mExcelAccess.Close();
            //***10、删除导入文件处理
            if (File.Exists(mUploadPath)==true)
            {
                //****删除文件
                File.Delete(mUploadPath);
            }        //***11、提示处理
            Page.ClientScript.RegisterStartupScript(typeof(string), "msg", "<script>HiddenProccessBar();</script>");        //****加载数据
            PageLodData();
        }