首页 新闻 论坛 群组 Blog 文档 下载 读书 Tag 网摘 搜索 .NET Java 游戏 视频 人才 外包 培训 数据库 书店 程序员
中国软件网
欢迎您:游客 | 登录 注册 帮助
  • 为什么从数据库导到EXCEL的表再次导入时就不行了呢 [无满意答案结贴,结贴人:dawei362]
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawei362
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    • 揭帖率:
    发表于:2008-04-28 18:33:34 楼主
    这时导出的代码
    Response.Clear();
            Response.Buffer = false;
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=test.xls");
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
                GridView1.RenderControl(oHtmlTextWriter);
            //this.DataGrid1.RenderControl(oHtmlTextWriter);
            Response.Write(oStringWriter.ToString());
            Response.End(); 
    导入时提示出错
    外部表不是预期的格式。
    说明: 执行当前 Web 请求期间,出现未处理的异常。请检查堆栈跟踪信息,以了解有关该错误以及代码中导致错误的出处的详细信息。

    异常详细信息: System.Data.OleDb.OleDbException: 外部表不是预期的格式。

    源错误:


    行 31:        string ds = "judge";
    行 32:          //drexcel(ds);
    行 33:          db.drexcel(FileUpload1, ds);
    行 34:       
    行 35:    }

    20  修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • wingtech520
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-04-28 18:48:451楼 得分:0
    把代码贴出来
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • dawei362
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-04-28 19:53:132楼 得分:0
    这时导出的代码 
    Response.Clear();
            Response.Buffer = false;
            Response.Charset = "GB2312";
            Response.AppendHeader("Content-Disposition", "attachment;filename=test.xls");
            Response.ContentEncoding = System.Text.Encoding.GetEncoding("GB2312"); Response.ContentType = "application/ms-excel"; this.EnableViewState = false;
            System.IO.StringWriter oStringWriter = new System.IO.StringWriter();
            System.Web.UI.HtmlTextWriter oHtmlTextWriter = new System.Web.UI.HtmlTextWriter(oStringWriter);
                GridView1.RenderControl(oHtmlTextWriter);
            //this.DataGrid1.RenderControl(oHtmlTextWriter);
            Response.Write(oStringWriter.ToString());
            Response.End();
    这是导入的代码
        string conpath = this.FileUpload1.PostedFile.FileName;
            string type = System.IO.Path.GetExtension(conpath);
            string filePath = Server.MapPath("upfiles/") + DateTime.Now.ToString("mmss") + System.IO.Path.GetFileName(conpath);
            // 假设 upload 为你上传的服务器目标的文件夹
            FileUpload1.PostedFile.SaveAs(filePath);
            string constr = "provider=microsoft.jet.oledb.4.0;data source='" + filePath + "';Extended Properties=Excel 8.0;";
            OleDbConnection excelConn = new OleDbConnection(constr);
            excelConn.Open();
            DataTable dt = excelConn.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, null);
            string tname = dt.Rows[0]["TABLE_NAME"].ToString();
            string sqqld = "SELECT * FROM [" + tname + "]";
            OleDbCommand excelCmd = new OleDbCommand(sqqld, excelConn);
        (System.Configuration.ConfigurationManager.ConnectionStrings["nect46"].ConnectionString);
          SqlConnection accessConn = new SqlConnection("server=chenwei;database=stu;uid=sa;pwd=3116451");
            accessConn.Open();
              OleDbDataAdapter oleAdapter = new OleDbDataAdapter(excelCmd);
          DataSet myDs = new DataSet();
          oleAdapter.Fill(myDs);
          GridView1.DataSource = myDs;
         
          if (myDs.Tables[0].Rows.Count > 0)
          {
              string strSql = "";
              string CnnString = "server=chenwei;database=stu;uid=sa;pwd=3116451";
              SqlConnection conn = new SqlConnection(CnnString);

              conn.Open();

              SqlCommand myCmd = null;
              for (int i = 0; i < myDs.Tables[0].Rows.Count; i++)
              {
                  strSql = "insert  into  XML(类型,题号,题目,选项1,选项2,选项3,选项4,分数,解答)  values  ('";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[0].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[1].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[2].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[3].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[4].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[5].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[6].ToString() + "',  '";
                  strSql += myDs.Tables[0].Rows[i].ItemArray[7].ToString() + "',  '";
               
                  strSql += myDs.Tables[0].Rows[i].ItemArray[8].ToString() + "')";


                  try
                  {
                      myCmd = new SqlCommand(strSql, conn);
                      myCmd.ExecuteNonQuery();
                      Label1.Text = " <script  language=javascript>alert('数据导入成功.'); </script>";
                  }
                  catch
                  {
                      Label1.Text = " <script  language=javascript>alert('数据导入失败.'); </script>";
                  }
              }
              conn.Close();
          }
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • UltraBejing
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-01 13:13:473楼 得分:0
    接分是王道!
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • meiZiNick
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-01 18:09:214楼 得分:0
    该回复于2008-05-09 11:10:22被版主删除
    修改 删除 举报 引用 回复
    进入用户个人空间
    加为好友
    发送私信
    在线聊天
    • lem12
    • 等级:
    • 可用分等级:
    • 总技术专家分:
    • 总技术专家分排名:
    发表于:2008-05-01 18:15:395楼 得分:0
    http://blog.csdn.net/lem12/archive/2007/06/08/1644044.aspx
    修改 删除 举报 引用 回复

    网站简介广告服务网站地图帮助联系方式诚聘英才English 问题报告
    北京创新乐知广告有限公司 版权所有 京 ICP 证 070598 号
    世纪乐知(北京)网络技术有限公司 提供技术支持
    Copyright © 2000-2008, CSDN.NET, All Rights Reserved