Asp.net与office web apps的整合

本文介绍了如何将Office Web Apps与ASP.NET系统整合,包括API的使用、编辑和查看模式的实现,以及遇到的问题和解决方案。示例代码展示了文件操作的过程,并提供源码下载链接。
摘要由CSDN通过智能技术生成

其实网上有关office web app的整合已经有相关的文章了,典型的是如何整合Office Web Apps至自己开发的系统(一) 和如何整合Office Web Apps至自己开发的系统(二),微软官网也有相应的demo

这里在简单描述一下原理吧:office web apps(owas)扮演者一个客服端,它会访问我们asp.net 站点的文件然后呈现出来。而我们常用的API主要有如下3个:

GET api/wopi/files/{name}?access_token={access_token}    
GET api/wopi/files/{name}/contents?access_token={access_token}     
POST api/wopi/files/{name}/contents?access_token={access_token}

至于每个API做什么 这里就不多说,第一个是owas 检查文件,传递的信息是json数据格式,第二个是owas获取文件流,第三个是owas post的文件流(保存修改文件)。首先我们来看看第一个API的实现:

 [Route("files/{name}/")]
        public CheckFileInfo GetFileInfo(string name, string access_token)
        {
            Validate(name, access_token);
            var fileInfo = _fileHelper.GetFileInfo(name);
            bool updateEnabled = false;
            if (bool.TryParse(WebConfigurationManager.AppSettings["updateEnabled"].ToString(), out updateEnabled))
            {
                fileInfo.SupportsUpdate = updateEnabled;
                fileInfo.UserCanWrite = updateEnabled;
                fileInfo.SupportsLocks = updateEnabled;
            }
            return fileInfo;
        }
这里的 Validate(name, access_token) 方法主要是验证请求的文件名name与参数access_token是否一致,主要是验证是否是非法访问,返回一个CheckFileInfo对象,CheckFileInfo的定义如下:

public class CheckFileInfo
    {
        public CheckFileInfo()
        {
            this.SupportsUpdate = false;
            this.UserCanWrite = false;
        }
        public string BaseFileName { get; set; }
        public string OwnerId { get; set; }
        public long Size { get; set; } //in bytes
        public string SHA256 { get; set; } //SHA256: A 256 bit SHA-2-encoded [FIPS180-2] hash of the file contents
        public string Version { get; set; }  //changes when file changes.
        public bool SupportsUpdate { get; set; }
        public bool UserCanWrite { get; set; }
        public bool SupportsLocks { get; set; }
    }

现在在来看看第二个api的实现,主要返回对应文件的数据流:

[Route("files/{name}/contents")]
        public HttpResponseMessage Get(string name, string access_token)
        {
            try
            {
                Vali
作为ASP.NET项目的开发者,在应对用户的Word、Excel文档时,您是否迫切希望Visual Studio工具箱里能有现成的Word、Excel标准ASP.NET控件可用就太好了?现在梦想已经成真,想在网页上显示编辑Word、Excel文档并且调用微软Office的强大功能,就直接从工具箱拖动一个PageOffice控件到Web页面上就可以了,就和使用常用的TextBox控件一样简单方便。 PageOffice是什么? PageOffice for ASP.NET是一款非常优秀的专业的集成微软OFFICE功能的ASP.NET控件平台,能够帮助Web开发人员轻松实现在网页中嵌入运行微软Office的特殊功能。PageOffice把微软复杂的Office编程接口(COM API) 有效地整合ASP.NET 环境,通过简化的.NET类库接口为开发者提供了在Web项目里获得Office众多强大功能的机会,并且能够同时利用来自 .NET Framework 的开发效率和软件功能。 集成PageOffice不但能够实现在线编辑、保存真正的Office文档,而且还可以轻松实现Word、Excel文档的动态数据填充、格式控制和用户输入提交的高级复杂功能。只要集成PageOffice,您将能够轻松应对在Web项目开发中遇见的绝大部分和Office文档有关的功能和难题。您只需把精力集中在项目业务逻辑上,Office技术问题就交给PageOffice实现解决吧。 PageOffice除了提供Word/Excel动态数据填充,格式控制,Word/Excel用户输入提交,Word/Excel/PowerPoint/WPS等Office文档的在线打开、只读浏览、编辑、保存等功能外,还给在线协同办公提供了强大的支持功能:可编辑区域控制,强制痕迹保留,并发编辑控制,手写批注,手写签名,圈阅签字,电子印章、动态模板套红等。 专业的MSDN风格的开发帮助,上百的示例代码,确保您的开发效率事半功倍。 运行环境 服务器端:Windows2003、Windows2008、Windows2012及Windows XP、Windows7、Windows8等(包括64位版本);.Netframework2.0及以上版本。 客户端:Windows XP、Windows Vista、Windows7、Windows8及以上版本(包括64位版本);Microsoft Office2003、2007、2010、2013;IE 6.0、7.0、8.0、9.0、10.0。 名称:PageOffice for ASP.NET专业版 2.0 下载:http://www.zhuozhengsoft.com/down/PageOffice_ASP.NET.rar 大小:13.8MB 版本:专业版 2.0
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值