比如学生成绩录入界面,登录录入网页后,会出现成绩录入的文本框。一般是一个学号,后面跟一个文本框录成绩。
  如果成绩已经在Excel中了,再一个一个手工输入就太麻烦了,但我们又没有修改服务器程序的权限,当然也不能直接访问数据库。
  能不能做个东东,直接分析页面,然后自动从Excel中读出填写页面,请高手给个思路吧,主要是什么技术能填写浏览器中显示的页面。
  估计那个网页没有Session之类的,因为那个页面开一天都可以提交,没有过期。

解决方案 »

  1.   

    利用httpWebRequset提交相关的值到这个页面.搜索一个这个对象的用法.
      

  2.   

    可以把Excel先上传到服务器,然后再读取Excel里的数据插入你的数据库。
      

  3.   

    没有修改服务器程序的权限,也不能直接访问数据库,网页没有Session之类的我感觉这样做个winform程度似乎更方便些,先对excel进行处理,这个在本地用winform对excel处理就比较容易了,把需要的数据存个数组之类的,然后拖个webbrowser控件,加载那个网页,对页面中的文本框赋值即可
      

  4.   

    慕白兄,没有找到中文资料,找了个英文的,是不是这样:
    (1)建立一个C/S程序;
    (2)创建一个HttpWebRequest对象,创建时输入了URL信息;
    (3)设置Method为"Put";
    (4)创建一个StreamWriter对象,绑定到HttpWebRequest对象调用GetRequestStream()得到的流对象,并把填好的信息写入;
    (5)自己构造要提交的信息,用StreamWriter写入;
    (6)调用GetResponse()提交。这里有几个问题:
    (1)这样做是否需要有权限才行;
    (2)StreamWriter写入的提交信息是否也是html的格式?
      

  5.   

    lxcnn(过客) ( ) 信誉:100    Blog  2007-1-28 23:30:23  得分: 0  
        
    没有修改服务器程序的权限,也不能直接访问数据库,网页没有Session之类的我感觉这样做个winform程度似乎更方便些,先对excel进行处理,这个在本地用winform对excel处理就比较容易了,把需要的数据存个数组之类的,然后拖个webbrowser控件,加载那个网页,对页面中的文本框赋值即可----------------------------------------------------------------------------------这倒是个好办法,不知道获取网页上文本框的引用及修改其某个属性的方法是什么,望告知。
     
      

  6.   

    写个winform程序,读入excel的相关类容利用httpwebrequest把那个网页form中的元素内容加上excel中的值post
    到页面上去.
      

  7.   

    (1)这样做是否需要有权限才行;
    (2)StreamWriter写入的提交信息是否也是html的格式?
    ========>如果不用登录就很简单,没有权限的问题2.格式就是 aa=1&bb=2&cc=3...aa,bb,cc就是那个页面中form中input或select的name.值就是excel中的值.
      

  8.   

    慕白兄,谢谢!还有两个问题:
    (1)是不是有n个这样的参数也没有问题,比如200个。
    (2)这种方式是不是和浏览器中直接输入的效果相同,比如我只生成字符串“a.asp?a=1&b=2...”,然后拷贝到浏览器地址栏,回车。(哦,写到这里想起来了,这样应该是Get吧,参数多了就不行了)
      

  9.   

    这里应该用post因为要做成与那个网页提交的内容一样,
    就是相当于你在页面中输入内容,然后提交.
      

  10.   

    public  string getHTMLByUrlCook(string url,ref System.Net.CookieContainer cook,string sMethod,string Param,bool bAutoRedirect,System.Text.Encoding ecode)
    {
    sMethod = sMethod.ToUpper();
    sMethod = sMethod!="POST"?"GET":sMethod;
    string res ="";
    HttpWebRequest re =(HttpWebRequest)HttpWebRequest.Create(url);
    re.CookieContainer = cook; // attach the cook object 
    re.Method = sMethod;
    re.AllowAutoRedirect = bAutoRedirect;
    re.UserAgent="Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; MyIE2; .NET CLR 1.1.4322)";
     
     
    re.Referer = url;
    if (sMethod =="POST") // Post data to Server
    {
    re.ContentType="application/x-www-form-urlencoded";
    Byte[] b = this.getByteFromString(Param,ecode);
    re.ContentLength = b.Length;
    try
    {
    Stream oSRe = re.GetRequestStream();
    oSRe.Write(b,0,b.Length);
    oSRe.Close();
    oSRe = null;
    }
    catch(Exception )
    {
    re = null;
    return "-1";
    }
    }HttpWebResponse rep = null;
    Stream oResponseStream = null;
    StreamReader oSReader = null;
    try
    {
    rep=(HttpWebResponse)re.GetResponse();oResponseStream = rep.GetResponseStream();
    oSReader  = new StreamReader(oResponseStream,ecode);
    res =oSReader.ReadToEnd();
    }
    catch (System.Net.WebException  e)
    {
    //res ="-1";res = e.ToString();
    }if (rep!=null) 
    {
    rep.Close();
    rep = null;
    }
    if(oResponseStream!= null)
    {
    oResponseStream.Close();
    oResponseStream = null;
    }if(oSReader!=null)
    {
    oSReader.Close();
    oSReader = null;
    }
    re = null;return res;}
      

  11.   

    其中的Param就是要提交的内容,形式就是a=1&b=2&c=3
    当然这个1.2.3的内容,要用UrlEncode编码
      

  12.   

    弱弱的说,.net2.0中winform和webbrower是可以实现交互的
    http://ziliaonet.com/tech/softdev/CJ/200607/90409.html