none
excel 导入到 oracle asp.net(C#) RRS feed

答案

  • 你把EXECL数据导入数据库,必须在数据库中存在一个与EXECL对应的表,

    你上面的File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName);
    只是把EXECL文件保存到服务器上了,并没有写入数据库

    努力+方法=成功
    2010年3月8日 9:22

全部回复

  • 1.EXCEL作为一个数据源,建立一个Dataset存储从中读出来的数据,然后插入到Oracle   的表中,

    2.
    http://blog.sina.com.cn/s/blog_579ad5c8010005m2.html
    努力+方法=成功
    2010年3月8日 6:39
  • 如果自己写的话呢?..想搞一个 fileupload 然后读取 excel .按个确定 就 OK了 ··

    怎么将 excel 做为数据源 写代码呀?

    2010年3月8日 6:47
  • 是的,直接把execl作为一个数据库,像读取ACCESS一样进行
    使用ADO.NET
    努力+方法=成功
    2010年3月8日 6:51
  • string ConStr=System.Configuration.ConfigurationManager.AppSettings["ConnString"];
       SqlConnection Conn=new SqlConnection(ConStr);
       string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+XLS_Path+"'"+";Extended Properties=Excel 8.0";
       OleDbConnection cnnxls = new OleDbConnection (mystring);
       OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
       DataSet myDs =new DataSet();

    这个 应该是 写 EXCEL 的数据源吧··  冒昧的问下 第一句是什么意思??
    2010年3月8日 6:59
  • string ConStr=System.Configuration.ConfigurationManager.AppSettings["ConnString"];//从WEBCONFIG中读取连接字符串
       SqlConnection Conn=new SqlConnection(ConStr);
    上面的是连接SQL数据库

    下面的是对EXECL操作,读取EXECL.用下面的就可以
    string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+XLS_Path+"'"+";Extended Properties=Excel 8.0";
       OleDbConnection cnnxls = new OleDbConnection (mystring);
       OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
       DataSet myDs =new DataSet();

    努力+方法=成功
    2010年3月8日 7:13
  • 开心 错误了 ...      数据导入失败,请检查!
    System.InvalidOperationException: 未能映射路径“/uploadexcel/”。 在 System.Web.Hosting.HostingEnvironment.MapPathActual(VirtualPath virtualPath, Boolean permitNull) 在 System.Web.VirtualPath.MapPathInternal() 在 System.Web.HttpRequest.MapPath(VirtualPath virtualPath, VirtualPath baseVirtualDir, Boolean allowCrossAppMapping) 在 System.Web.HttpServerUtility.MapPath(String path) 在 _Default.Button1_Click(Object sender, EventArgs e) 位置 e:\WebSite4\Default.aspx.cs:行号 35

    这个是 报错的内容·· ···

    我参考了 http://zhidao.baidu.com/question/73058676.html?si=1 
    用 ACCESS 做 连接 测试....

    我数据源:  跟 上面的 那个 例子 的区别···
    string ConStr = @"Provider=Microsoft.Jet.OLEDB.4.0;" + "User ID=Admin;" + "PassWord=" + "" + ";Data Source=" + Server.MapPath("cc.mdb");
            OleDbConnection Conn = new OleDbConnection(ConStr);

    最下面的部分:
      int[] zjid = new int[myDs.Tables[0].Rows.Count];
            string strSql = "";
            string CnnString = @"Provider=Microsoft.Jet.OLEDB.4.0;" + "User ID=Admin;" + "PassWord=" + "" + ";Data Source="+Server .MapPath ("cc.mdb");
            OleDbConnection conn = new OleDbConnection(CnnString);
            OleDbCommand myCmd = null;
           
        }
        private string MakeFileName()
        {
            return Guid.NewGuid().ToString();
        }

    错在哪里呀?难道是地址码?
    2010年3月8日 7:37
  • 开心 ·· · 
    File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName);
                    XLS_Path = Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName;

    这个是 把 文件上传了 以后 保存在 名字叫:uploadexcel的文件夹里是吧?
    2010年3月8日 7:59
  • 是你读取文件路径的问题,
    你读取时候也要从uploadexcel文件下读取
    努力+方法=成功
    2010年3月8日 8:03
  •   File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName);
                    XLS_Path = Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName;
    我发现 应该是 这句有问题 ,文件上传 可以并没有上传到 指定的 uploadexcel文件夹 直接报错了```

    路径的话 我验证了下File1.PostedFile.SaveAs 显示的 地址是:E:\\e:\WebSite4\\uploadexcel\\excel.xls 

    地址应该是 正确的吧···
    2010年3月8日 8:07
  • 你的地址肯定是错误的E:\\e:,怎么又两个目录
    努力+方法=成功
    2010年3月8日 8:09
  • 额···打字 打错了·· ·晕··

    刚 进步验证 :发现     File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName);
      这句 正确。。
    如果验证: XLS_Path = Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName;
    就 出错。。。提示出 那一大段话。。。   XLS_Path =""   验证的 结果 ··
    这个 地址 为什么错误了??
    2010年3月8日 8:13
  • 上传成功了 ···改成uploadexcel 就可以了··
    并没有导入数据库   是不是  难道要在数据库里 创建一个表吗 ?不用这么麻烦的吧···
    2010年3月8日 8:55
  • 你把EXECL数据导入数据库,必须在数据库中存在一个与EXECL对应的表,

    你上面的File1.PostedFile.SaveAs(Server.MapPath("../uploadexcel/") + XLS_Name + fileExtName);
    只是把EXECL文件保存到服务器上了,并没有写入数据库

    努力+方法=成功
    2010年3月8日 9:22
  • XLS_Path = Server.MapPath("uploadexcel") + XLS_Name + fileExtName;
    string ConStr=System.Configuration.ConfigurationManager.AppSettings["ConnString"];
       SqlConnection Conn=new SqlConnection(ConStr);
       string mystring="Provider = Microsoft.Jet.OLEDB.4.0 ; Data Source = '"+XLS_Path+"'"+";Extended Properties=Excel 8.0";
       OleDbConnection cnnxls = new OleDbConnection (mystring);
       OleDbDataAdapter myDa =new OleDbDataAdapter("select * from [Sheet1$]",cnnxls);
       DataSet myDs =new DataSet();
                 myDa.Fill(myDs);
    这个是 打开 数据源了吧···然后myDa执行。。   

    下面:
    int []zjid=new int[myDs.Tables[0].Rows.Count];
       string strSql = "";
       string CnnString="Provider=SQLOLEDB;"+ConStr;
       OleDbConnection conn =new OleDbConnection(CnnString);
       OleDbCommand myCmd =null;

    这个是 意味什么呢?
    写入数据库么?感觉不代码还不完整的样子 ·
    2010年3月8日 11:31
  • 搞定~~最后 用个 gridview折中了下···

    2010年3月9日 8:05