http://dotnet.aspx.cc/ShowDetail.aspx?id=EY1XLDYV-PIDF-43LO-1WFL-FMY5ALE1F635

解决方案 »

  1.   

    以前做过。你只要将数据压入客户端,同时指示浏览器处理的数据格式是msword就可以了。
      

  2.   

    是什么数据库不重要吧,我在Syabse做的,不知道是否对你有帮助
    private void menuItem1_Click(object sender, System.EventArgs e)
    {
    //this.axWebBrowser1_HandleDestroyed(sender,e);
    bytes = addFile(strFileName2);
    ds_ope_project.Clear();
    ds_ope_project.Merge(op.Image_ds(b_id));
    if(ds_ope_project.Tables["b_project"].Rows.Count>0)
    {
    ds_ope_project.Tables["b_project"].Rows[0]["project"] = bytes;
    ds_ope_project.Tables["b_project"].Rows[0]["pro_type"] = this.comboBox1.Text.ToString().Trim();
    }
    else
    {
    DataRow myrow;
    myrow = ds_ope_project.Tables["b_project"].NewRow();
    myrow["dept_id"] = ls_dept;
    myrow["b_id"] = b_id;
    myrow["user_id"] = this.textBox1.Text.ToString().Trim();
    myrow["user_name"] = this.textBox2.Text.ToString().Trim();
    myrow["project"] = bytes;
    myrow["pro_type"] = this.comboBox1.Text.ToString().Trim();
    ds_ope_project.Tables["b_project"].Rows.Add(myrow);
    }
    DialogResult result;
    result = MessageBox.Show(op.Write_image(ds_ope_project)); }
    //函数 public string Write_image(System.Data.DataSet dataset)
    {
    string msg="供电方案提交成功";

    try
    {
    string test = oleDbCommand42.CommandText;
    oleDbDataAdapter4.Update(dataset); }
    catch(Exception ee)
    {
    msg = "保存失败!原因:"+ee.Message+"??";
    }
    return msg; }
      

  3.   

    显示:
    bytes =  (byte[])ds_ope_project.b_project.Rows[0][4];
    System.IO.File.Copy(strFileName1,strFileName2,true);
    FileStream fs = new FileStream(strFileName2, FileMode.OpenOrCreate, FileAccess.Write);
    System.Int32 i = bytes.Length; //aStream.Read(bytes, 0, bytes.Length);
    fs.Write(bytes, 0, bytes.Length);
    fs.Close();
    if(strFileName2.Length != 0)
    {
    try
    {
    Object refmissing = System.Reflection.Missing.Value;
    oDocument = null;

    axWebBrowser.Navigate(strFileName2, ref refmissing , ref refmissing , ref refmissing , ref refmissing); }
    catch(Exception ee)
    {
    MessageBox.Show("发生错误 - " + ee.Message);
    }
      

  4.   

    那你可不可以把数据库里的数据再保存为doc文档啊。
    如果能做到,再调用进程对象启动它不就行了吗。
      

  5.   

    简单,你已字节流方式把*.doc文件保存到数据库,当用到的时候从数据库中读出,在创建成临时文件*.doc,然后用本地潜有office控件的网页打开就行了,当然要访问该网页的计算机上要装有office,文件决定不会改变.
      

  6.   

    读取时需要保存成*.doc临时文档,假设为"c:\my.doc",然后: Process myProcess = new Process();
     
     myProcess.StartInfo.FileName = @"c:\my.doc"; myProcess.StartInfo.CreateNoWindow = true;
     myProcess.Start();======
    注意需要:using  System.Diagnostics;