asp.net与word文档在线

1.通过javascript打开\编辑\根据模板新建word文档           

           //"SharePoint.OpenDocuments.1"可与Office XP兼容
            var openDocObj = new ActiveXObject("SharePoint.OpenDocuments.2");
           
            //打开文档
            openDocObj.ViewDocument(lUrl+"./documents/sample.doc");

            //ViewDocument()方法还有一个重载签名,可以让我们手工指定激活哪个程序来打开文档:     
            openDocObj.ViewDocument(lUrl+"./documents/sample.doc",   要激活的程序的ProgID);  

            //编辑文档
            var lUrl = window.location.href;
            openDocObj.EditDocument(lUrl+"./documents/sample.doc");
           
            //根据模板创建文档(模板,新文档保存路径)
            openDocObj.CreateNewDocument(lUrl+"./documents/sampleTemplate.dot", lUrl+"./documents/"); 

    注:iis必须设置为可写,web服务扩展中的WebDaV应是允许状态,如图:    

2.直接把文件上传进数据库

string FileName;
        Stream WordStream = SearchFile.PostedFile.InputStream;
        string FilePath = this.SearchFile.PostedFile.FileName;
        FileName = Path.GetFileName(FilePath);
        if (FileName != null && FileName != "")
        {
            int WordLen = SearchFile.PostedFile.ContentLength;
            string WordType = SearchFile.PostedFile.ContentType;
            byte[] WordData = new Byte[WordLen];
            int n = WordStream.Read(WordData, 0, WordLen);
            WordStream.Close();
            SqlCommand com = new SqlCommand();
            com.CommandText = "insert into MyTable(name,FileBinary) values(@FileName,@FileBinary)";
            com.Parameters.Add(new System.Data.SqlClient.SqlParameter("@FileName", System.Data.SqlDbType.Char, 20, "FileName"));
            com.Parameters.Add(new System.Data.SqlClient.SqlParameter("@FileBinary", System.Data.SqlDbType.Image, WordData.Length, "FileBinary"));
            com.Connection = sqlConnection;
            com.Parameters["@FileName"].Value = FileName;
            com.Parameters["@FileBinary"].Value = WordData;
            com.Connection.Open();
            com.ExecuteNonQuery();
            com.Connection.Close();
        }
        else
        {
            Response.Write(" ");
        }

3.数据流的方式在浏览器中显示Word文件

Response.ContentType = "Application/msword";

        this.Response.Clear();
       
        SqlCommand selcom = new SqlCommand();
        selcom.CommandText = "select name,FileBinary from MyTable order by id desc";
        selcom.Connection = sqlConnection;
        selcom.Connection.Open();
        SqlDataReader dr = selcom.ExecuteReader();
        dr.Read();
        Byte[] b = new Byte[(dr.GetBytes(1, 0, null, 0, int.MaxValue))];
        dr.GetBytes(1, 0, b, 0, b.Length);
        dr.Close();
        selcom.Connection.Close();
        System.IO.Stream fs = this.Response.OutputStream;
        fs.Write(b, 0, b.Length);

        fs.Close();
        this.Response.End();

http://www.cnblogs.com/9who/archive/2008/07/28/1254532.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
【核心代码】 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 using Aspose.Cells; using Aspose.Slides.Pptx; using System; using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using System.Net; using System.Net.Http; using System.Text; using System.Web.Http; namespace DocOnlineView.UI.Controllers.MVCAPI { public class HomeController : ApiController { [HttpGet] public DataTable CourseViewOnLine(string fileName) { DataTable dtlist = new DataTable(); dtlist.Columns.Add("TempDocHtml", typeof(string)); string fileDire = "/Files"; string sourceDoc = Path.Combine(fileDire, fileName); string saveDoc = ""; string docExtendName = System.IO.Path.GetExtension(sourceDoc).ToLower(); bool result = false; if (docExtendName == ".pdf") { //pdf模板文件 string tempFile = Path.Combine(fileDire, "temppdf.html"); saveDoc = Path.Combine(fileDire, "viewFiles/onlinepdf.html"); result = PdfToHtml( sourceDoc, System.Web.HttpContext.Current.Server.MapPath(tempFile), System.Web.HttpContext.Current.Server.MapPath(saveDoc)); } else { saveDoc = Path.Combine(fileDire, "viewFiles/onlineview.html"); result = OfficeDocumentToHtml( System.Web.HttpContext.Current.Server.MapPath(sourceDoc), System.Web.HttpContext.Current.Server.MapPath(saveDoc)); }

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值