其实只有用上传和下载这一种方法,并且效果不是很好。
如果想在IE中直接编辑文档,那也不是可取的办法,比如Word文档在IE里面可以编辑,但是保存回服务器时比较麻烦,同时要求客户端必须安装Office。我劝你没有必要在这方面多费心思浪费时间,你看到有哪个出色系统有这么做的?

解决方案 »

  1.   

    楼上的老大,说清楚一点点呀。
    “客户编辑好以后用客户端的脚本引发回送”:客户端怎么去取得编辑的内容,如文档里的图片方字或者EXCEL里的单元格内容呀?
      

  2.   

    参考江西金格的http://nclyj.cn.alibaba.com/athena/sampledetail/5215183.html
      

  3.   

    看了一下江西金格的产品,好是好,不过采用的是ACTIVEX方式,有没有不通过该方式的思路呀,我主要想是采用.NET的自定义控件来解决,用户就可以不安装客户端控件了。
    但这只是一个思路,大家一起讨论!
      

  4.   

    我做的思路是这样的,我用VC做了一个模仿WORD编辑器的控件,而后掉用就可以了,至于痕迹保留采用的方式是,把文件保存的数据库,进行人工对比
      

  5.   

    Imports Excel
    Imports System.Data
    Imports System.Data.SqlClientPrivate Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
            Dim oexcel As Excel.Application
            Dim ebook As Excel.Workbook
            Dim esheet As Excel.Worksheet
            Dim irow, icol, i, j As Integer
            Dim conn, conn_data As SqlConnection
            Dim sqlcmd, sqlcmd_data As SqlCommand
            Dim rs, rs_data As SqlDataReader
            Dim sqlstr As String
            Dim fso As System.IO.File
            If fso.Exists(Server.MapPath(".") & "\0110.xls") Then
                TextBox_row.Text = fso.Exists(Server.MapPath(".") & "\0110.xls")
                Exit Sub
            End If
            oexcel = New Excel.Application
            oexcel.Visible = False
            ebook = oexcel.Workbooks.Open(Server.MapPath(".") & "\0110.xls")        conn = New SqlConnection(Application("sqlstr"))
            conn_data = New SqlConnection(Application("sqlstr"))
            sqlstr = "select * from XT_RPDS where id='0110'"
            sqlcmd = New SqlCommand(sqlstr, conn)
            conn.Open()
            rs = sqlcmd.ExecuteReader
            conn_data.Open()        While rs.Read
                esheet = ebook.Worksheets.Item(rs("sheetname"))
                sqlstr = rs("sqlstr")            sqlcmd_data = New SqlCommand(sqlstr, conn_data)
                rs_data = sqlcmd_data.ExecuteReader
                i = 1
                While rs_data.Read
                    For j = 0 To rs_data.FieldCount - 1
                        esheet.Cells(i, j + 1) = rs_data(j)
                    Next
                    i = i + 1
                End While
                rs_data.Close()
            End While
            rs_data.Close()
            conn_data.Close()
            rs.Close()
            conn.Close()
            Try
                ebook.Save()
            Catch objexception As Exception
                Response.Write("wrong!")
                Response.Write("<hr>")
                Response.Write("<li>message:" + objexception.Message)
                Response.Write("<li>source:" + objexception.Source)
                Response.Write("<li>stack trace:" + objexception.StackTrace)
                Response.Write("<li>target site:" + objexception.TargetSite.Name)
            End Try
            ebook.Close(Nothing, Nothing, Nothing)
            oexcel.Workbooks.Close()
            oexcel.Quit()        System.Runtime.InteropServices.Marshal.ReleaseComObject(esheet)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(ebook)
            System.Runtime.InteropServices.Marshal.ReleaseComObject(oexcel)
            esheet = Nothing
            ebook = Nothing
            oexcel = Nothing
            GC.Collect()        Response.ContentType = "application/x-msexcel"
            Response.Redirect("0110.xls")    End Sub
      

  6.   

    楼上代星星的老大处理的是在服务器端生成EXCEL,再下载一客户端打开。这个我知道的。可是现在主要是怎么在客户端编辑从服务器下载的文档,再保存到服务器。
    最好不要是商业产品。
    我们要的是思路!
      

  7.   

    http://www.tx.net.cn/Product/TXWebOffice/default.htm
      

  8.   

    http://www.tx.net.cn/Product/TXWebOffice/default.htm
      

  9.   

    没有必要吧,你看MS在SharePoint里,在线编辑也是先弹出下载的对话框,选择“打开”,修改完了点击保存才自动上传到服务器的。客户端一样也要安装Office
      

  10.   

    同意  xinshaw(清瘦卫郎) 说的
      

  11.   

    对于在IE中打开的Word文档,它其实是客户端浏览器下载到本地后然后在IE中打开的,所以你所做的修改都是在客户端的临时Word文件,服务器并不知道它的修改,要将修改过后的文件保存到服务器端,你需要另外发送HTTP Post请求将文件上传到服务器端