1. 目前WebOffice使用比较多主要有两个公司的产品,分别是江西金格和北京点聚。但是点聚的是免费的,虽然有欠缺之处,但是经过个人修改还是比较好用的,关键一点是,它免费啊!
  2.  
  3. 把一个最主要加载页面,如果读懂了这个页面的使用,其他的相当就好理解了。
  4.  
  5. (如果需要组件和源码的给我留言)
  6.  
  7. <%@ Page Language="C#" AutoEventWireup="true" CodeFile="DocEdit.aspx.cs" Inherits="DocEdit" %>
  8. <%@ Import Namespace="System.Data.OleDb"%>
  9.  
  10. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  11.  
  12. <html xmlns="http://www.w3.org/1999/xhtml" >
  13. <head runat="server">
  14. <title>编辑正文</title>
  15. <!-- 编辑控件主要集中在此页面 -->
  16. </head>
  17. <body>
  18. <form name="myform" action="#" method="post">
  19. <% //获取服务器的地址
  20. string URL = this.Session["URL"].ToString();
  21. string ID;
  22. string DocType;
  23. string DocTitle = "";
  24. //起草文件,则ID为NULL,否则为记录的主键
  25. ID = Request.QueryString["ID"];
  26. if (ID == null || ID == "")
  27. {
  28. //获取新建文件的类型
  29. DocType = Request.Form["DocType"];
  30. }
  31. else
  32. {
  33. //获取DocTitle
  34. DocTitle = Request.QueryString["DocTitle"];
  35. //获取文件的 类型
  36. DocType = Request.QueryString["DocType"];
  37. }
  38.  
  39. //默认为word文档,如果异常进入则按word处理,组织部基本处理的都是word
  40. if (DocType == null || DocType == "")
  41. {
  42. DocType = "doc";
  43. }
  44. %>
  45. <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  46. <TR>
  47. <TD bgColor=#3366cc><IMG height=1 alt="" width=1></TD>
  48. </TR>
  49. </TABLE>
  50.  
  51. <table style="width: 100%" border = "0" cellpadding="0" cellspacing="0">
  52. <tr>
  53. <td valign="top" bgColor="#e5ecf9" style="height: 21px;"><p align="left"><b><strong>WebOffice演示</strong></b>
  54. </p></td>
  55. </tr>
  56. </table>
  57. <br /> <br />
  58. <table width="100%" border="0" cellpadding="0" cellspacing="1" bgcolor="#3366cc">
  59.  
  60. <tr bgcolor="#FFFFFF">
  61. <td bgcolor="#ffffff" rowspan="2">
  62. <div align="center"><strong>标题</strong></div>
  63. </td>
  64. <td rowspan="2">
  65. <input name="DocTitle" value= "<%if(DocTitle=="" ) {Response.Write("text");} else {Response.Write(DocTitle);} %>" size="14" id="Text1"/></td>
  66. <td rowspan="2" >
  67. &nbsp; &nbsp;<input name="DocFilePath" type="file" size="34" />
  68. <input type="button" value="打开本地文件" onclick="return docOpen()" id="Button1" style="width: 115px" /></td>
  69. <td rowspan="2" bgcolor="#FFFFFF" style="width: 344px"><div align="center">
  70. <input type="button" class="btn" value="显示最终文稿" onclick="return UnShowRevisions()" />
  71. <input type="button" value="从服务器下载" onclick="return WebOffice1_NotifyCtrlReady()" style="width: 96px"/>
  72. <input type="button" value="上传到服务器" onclick="return SaveDoc()" style="width: 98px"/>
  73. <input type="button" style="display:none" value="返回" onclick="return return_onclick()"/></div></td>
  74. </tr>
  75.  
  76. <tr bgcolor="#FFFFFF">
  77. </tr>
  78.  
  79. <tr bgcolor="#FFFFFF">
  80. <td valign="top" bgcolor="#FFFFFF" style="height: 560px">
  81. <!-- -------------------=== Start 嵌套Table ===------------------------------- -->
  82. <table width="100%" border="0" cellpadding="0">
  83.  
  84. <tr>
  85. <td class="maintxt">用户名:<br />
  86. <input name="UserName" type="text" value="Test" style="width:74px;" maxlength="10" /><br />
  87. <input type="button" value="设置用户" onclick="return SetUserName()" class="btn" /></td>
  88. </tr>
  89.  
  90. <tr><td class="maintxt">
  91. <hr size="1" />保护密码:<br />
  92. <input name="docPwd" type="text" value="Password" style="width:74px;" maxlength="10" /><br />
  93. <input type="button" class="btn" value="保护文档" onclick="return ProtectFull()" /></td>
  94. </tr>
  95.  
  96. <tr><td><input type="button" class="btn" value="解除保护" onclick="return UnProtect()" /></td></tr>
  97.  
  98. <tr><td>
  99. <hr size="1" />
  100. <input type="button" class="btn" value="修订文档" onclick="return ProtectRevision()" /></td>
  101. </tr>
  102.  
  103. <tr><td><input type="button" class="btn" value="显示修订" onclick="return ShowRevisions()" /></td></tr>
  104. <tr><td><input type="button" class="btn" value="隐藏修订" onclick="return UnShowRevisions()" /></td></tr>
  105. <tr><td><input type="button" class="btn" value="接受修订" onclick="return AcceptAllRevisions()" /></td></tr>
  106.  
  107. <tr><td>
  108. <hr size="1" />
  109. <input type="button" class="btn" value="设置书签" onclick="return addBookmark()" /></td>
  110. </tr>
  111.  
  112. <tr>
  113. <td rowspan="4">
  114. <input type="button" class="btn" value="套加红头" onclick="return addRedHead()" /></td>
  115. </tr>
  116. </table>
  117. <!-- -------------------=== End 嵌套Table ===------------------------------- -->
  118. <select id="Select1" name="select" style="width: 83px">
  119. <option selected="selected" value="<%=URL %>/template/tmp1.doc">部模板1</option>
  120. <option value="<%=URL %>/template/tmp2.doc">市模板1</option>
  121. <option value="<%=URL %>/template/tmp3.doc">县模板1</option>
  122. </select>
  123. </td>
  124.  
  125. <td colspan="3" valign="top" style="height: 560px">
  126. <!-- -----------------------------== 装载weboffice控件 ==----------------------------------->
  127. <script src="LoadWebOffice.js"></script>
  128. <!-- --------------------------------== 结束装载控件 ==------------------------------------->
  129. </td>
  130. </tr>
  131. </table>
  132. <br /> <br />
  133. <table style="width: 100%" border = "0" cellpadding="0" cellspacing="0">
  134. <tr>
  135. <td valign="top" bgColor="#e5ecf9" ><span style="color: red">服务器地址:<%=this.Session["URL"].ToString() %> </span>
  136. </td>
  137. </tr>
  138. </table>
  139. <TABLE cellSpacing=0 cellPadding=0 width="100%" border=0>
  140. <TR>
  141. <TD bgColor=#3366cc><IMG height=1 alt="" width=1></TD>
  142. </TR>
  143. </TABLE>
  144. </form>
  145. </body>
  146. </html>
  147. <script language="javascript" type="text/javascript">
  148. // ---------------------== 关闭页面时调用此函数,关闭文档--------------------- //
  149. function window_onunload() {
  150. document.all.WebOffice1.Close();
  151. }
  152.  
  153. // ---------------------------== 解除文档保护 ==---------------------------------- //
  154. function UnProtect() {
  155. document.all.WebOffice1.ProtectDoc(0,1, myform.docPwd.value);
  156. }
  157.  
  158. // ---------------------------== 设置文档保护 ==---------------------------------- //
  159. function ProtectFull() {
  160. document.all.WebOffice1.ProtectDoc(1,1, myform.docPwd.value);
  161. }
  162. // -----------------------------== 修订文档 ==------------------------------------ //
  163. function ProtectRevision() {
  164. document.all.WebOffice1.SetTrackRevisions(1)
  165. }
  166.  
  167. // -----------------------------== 隐藏修订 ==------------------------------------ //
  168. function UnShowRevisions() {
  169. document.all.WebOffice1.ShowRevisions(0);
  170. }
  171.  
  172. // --------------------------== 显示当前修订 ==---------------------------------- //
  173. function ShowRevisions() {
  174. document.all.WebOffice1.ShowRevisions(1);
  175.  
  176. }
  177.  
  178. // -------------------------== 接受当前所有修订 ------------------------------ //
  179. function AcceptAllRevisions() {
  180. document.all.WebOffice1.SetTrackRevisions(4);
  181. }
  182.  
  183. // ---------------------------== 设置当前操作用户 ==------------------------------- //
  184. function SetUserName() {
  185. if(myform.UserName.value ==""){
  186. alert("用户名不能为空");
  187. myform.UserName.focus();
  188. return false;
  189. }
  190. document.all.WebOffice1.SetCurrUserName(myform.UserName.value);
  191. }
  192.  
  193. // -------------------------=== 设置书签套加红头 ===------------------------------ //
  194. function addBookmark() {
  195. document.all.WebOffice1.SetFieldValue("mark_1", "安徽省委组织部红头文件::ADDMARK::");
  196. }
  197.  
  198. // -------------------------=== 设置书签套加红头 ===------------------------------ //
  199. function addRedHead() {
  200. if(document.getElementById("Select1").value == "")//判断是否选择模板
  201. {
  202. alert("请选择模板!")
  203. return false;
  204. }
  205.  
  206. document.all.WebOffice1.SetFieldValue("mark_1", "", "::ADDMARK::"); // 添加书签
  207. document.all.WebOffice1.SetFieldValue("mark_1", document.getElementById("Select1").value, "::FILE::");
  208. }
  209.  
  210. // -----------------------------== 返回首页 ==------------------------------------ //
  211. function return_onclick() {
  212. document.all.WebOffice1.Close();
  213. window.location.href = "Default.aspx"
  214. }
  215. // 打开本地文件
  216. function docOpen() {
  217. //alert(myform.DocFilePath.value)
  218. if(myform.DocFilePath.value == "") {
  219. alert("文件路径不可以为空");
  220. myform.DocFilePath.focus();
  221. return false;
  222. }
  223. var flag;
  224. //LoadOriginalFile接口装载文件
  225.  
  226. flag = document.all.WebOffice1.LoadOriginalFile(myform.DocFilePath.value,"<%=DocType%>");
  227. if( 0 == flag){
  228. alert("文件打开失败,请检查路径是否正确");
  229. myform.DocFilePath.focus();
  230. return false;
  231. }
  232. }
  233.  
  234. // -----------------------------== 保存文档 ==------------------------------------ //
  235. function SaveDoc() {
  236. if(myform.DocTitle.value ==""){
  237. alert("标题不可为空")
  238. myform.DocTitle.focus();
  239. return false;
  240. }
  241. //恢复被屏蔽的菜单项和快捷键
  242. document.all.WebOffice1.SetToolBarButton2("Standard",1,3);
  243. document.all.WebOffice1.SetToolBarButton2("Standard",2,3);
  244. document.all.WebOffice1.SetToolBarButton2("Standard",3,3);
  245. document.all.WebOffice1.SetToolBarButton2("Standard",6,3);
  246. <%if (DocType == "doc") {%>
  247. //恢复文件菜单项
  248. document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,4);
  249. //恢复 保存快捷键(Ctrl+S)
  250. document.all.WebOffice1.SetKeyCtrl(595,0,0);
  251. //恢复 打印快捷键(Ctrl+P)
  252. document.all.WebOffice1.SetKeyCtrl(592,0,0);
  253. <%}else if(DocType == "xls") {%>
  254. //恢复文件菜单项
  255. document.all.WebOffice1.SetToolBarButton2("Worksheet Menu Bar",1,4);
  256. <%} %>
  257. //初始化Http引擎
  258. document.all.WebOffice1.HttpInit();
  259. //添加相应的Post元素
  260. <%
  261. if(ID != ""){
  262. %>
  263. document.all.WebOffice1.SetTrackRevisions(0);
  264. document.all.WebOffice1.ShowRevisions(0);
  265. document.all.WebOffice1.HttpAddPostString("ID","<%=ID%>");
  266. <%
  267. }
  268. %>
  269. document.all.WebOffice1.HttpAddPostString("DocTitle", myform.DocTitle.value);
  270. document.all.WebOffice1.HttpAddPostString("DocType","<%=DocType%>");
  271. //把当前文档添加到Post元素列表中,文件的标识符䶿DocContent
  272. document.all.WebOffice1.HttpAddPostCurrFile("DocContent",""); // 涓婁紶鏂囦欢
  273. var vtRet;
  274. //HttpPost执行上传的动仿WebOffice支持Http的直接上传,在upload.aspx的页面中,解析Post过去的数慿
  275. //拆分出Post元素和文件数据,可以有选择性的保存到数据库中,或保存在服务器的文件中⾿
  276. //HttpPost的返回值,根据upload.aspx中的设置,返回upload.aspx中Response.Write回来的数据
  277. vtRet = document.all.WebOffice1.HttpPost("<%=URL %>/upload.aspx");
  278.  
  279. //alert(vtRet.Trim());
  280. if(vtRet.Trim() == "succeed"){
  281. alert("文件上传成功");
  282. }else{
  283. alert("文件上传失败");
  284. }
  285. //return_onclick();
  286. }
  287. //-->
  288. </script>
  289. <SCRIPT ID=clientEventHandlersJS LANGUAGE=javascript>
  290. <!--
  291. //实现Trim,LTrim和RTrim的功能
  292. String.prototype.Trim = function()
  293. {
  294. return this.replace(/(^\s*)|(\s*$)/g, "");
  295. }
  296.  
  297. String.prototype.LTrim = function()
  298. {
  299. return this.replace(/(^\s*)/g, "");
  300. }
  301.  
  302. String.prototype.RTrim = function()
  303. {
  304. return this.replace(/(\s*$)/g, "");
  305. }
  306.  
  307. function WebOffice1_NotifyCtrlReady() {
  308. //LoadOriginalFile接口装载文件,
  309. //如果是编辑已有文件,则文件路径传给LoadOriginalFile的第一个参数
  310. alert("终于执行这里了!");
  311. <%
  312. if (ID == null || ID==""){
  313. %>
  314. document.all.WebOffice1.LoadOriginalFile("","<%=DocType%>");
  315. <%}
  316. else
  317. {%>
  318. // document.all.WebOffice1.LoadOriginalFile("<%=URL %>/GetDoc.aspx?ID=<%=ID%>","<%=DocType%>");
  319. //alert("<%=URL %>/GetDoc.aspx?ID=yangweili1");
  320. document.all.WebOffice1.LoadOriginalFile("<%=URL %>/GetDoc.aspx?ID=yangweili1","doc");
  321. alert("加载成功了!");
  322. document.all.WebOffice1.SetTrackRevisions(1);
  323. document.all.WebOffice1.ShowRevisions(1);
  324. <%}%>
  325.  
  326. //屏蔽标准工具栏的前几个按钮
  327. document.all.WebOffice1.SetToolBarButton2("Standard",1,1);
  328. document.all.WebOffice1.SetToolBarButton2("Standard",2,1);
  329. document.all.WebOffice1.SetToolBarButton2("Standard",3,1);
  330. document.all.WebOffice1.SetToolBarButton2("Standard",6,1);
  331.  
  332. <%if (DocType == "doc") {%>
  333. //屏蔽文件菜单项
  334. document.all.WebOffice1.SetToolBarButton2("Menu Bar",1,1);
  335. //屏蔽 保存快捷键(Ctrl+S)
  336. document.all.WebOffice1.SetKeyCtrl(595,-1,0);
  337. //屏蔽 打印快捷键(Ctrl+P)
  338. document.all.WebOffice1.SetKeyCtrl(592,-1,0);
  339. <%}else if(DocType == "xls") {%>
  340. //屏蔽文件菜单项
  341. document.all.WebOffice1.SetToolBarButton2("Worksheet Menu Bar",1,1);
  342. <%} %>
  343. }
  344.  
  345. //-->
  346. </SCRIPT>
  347. <!-- --------------------=== Weboffice初始化完成事件--------------------- -->
  348.  
  349. <SCRIPT LANGUAGE=javascript FOR=WebOffice1 EVENT=NotifyCtrlReady>
  350. <!--
  351. WebOffice1_NotifyCtrlReady() // 在装载完Weboffice(执行<object>...</object>)控件后自动执行WebOffice1_NotifyCtrlReady方法
  352. //-->
  353. </SCRIPT>

免费 WebOffice使用的更多相关文章

  1. 点聚-weboffice 6.0 (一)

    WebOffice是一款由北京点聚信息技术有限公司提供的完全免费(商业用途也免费)且功能强大的在线Word/excel/wps编辑辅助控件,可以实现:1.在线编辑Word.Excel.PPT.WPS. ...

  2. C# 10分钟入门基于WebOffice实现在线编辑文档,实时保存到服务器(所有office,兼容WPS)

    今天,他来了(weboffice在线编辑文档). 上次写了一个在线预览的博,当然,效果并不是太理想,但是紧急解决了当时的问题. 后来,小编重新查找资料,求助大牛,终于使用新的方式替换了之前的low方法 ...

  3. 一个免费的、跨平台的、开源音频编辑器Audacity

    Audacity 是一个免费的开源程序,用于编辑音频录制.它可在多个平台(windows/linux)上运行.Audacity 基于 GUI,是一个具有多种选项的强大程序.它支持您录制各种类型的声音. ...

  4. 【原创】免费申请SSL证书【用于HTTPS,即是把网站从HTTP改为HTTPS,加密传输数据,保护敏感数据】

    今天公司有个网站需要改用https访问,所以就用到SSL证书.由于沃通(以前我是在这里申请的)暂停了免费的SSL证书之后,其网站推荐了新的一个网站来申请证书,所以,今天因为刚好又要申请一个证书,所以, ...

  5. 开源免费且稳定实用的.NET PDF打印组件itextSharp(.NET组件介绍之八)

    在这个.NET组件的介绍系列中,受到了很多园友的支持,一些园友(如:数据之巅. [秦时明月]等等这些大神 )也给我提出了对应的建议,我正在努力去改正,有不足之处还望大家多多包涵.在传播一些简单的知识的 ...

  6. 免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)

    前面介绍了六种.NET组件,其中有一种组件是写文件的压缩和解压,现在介绍另一种文件的解压缩组件SharpZipLib.在这个组件介绍系列中,只为简单的介绍组件的背景和简单的应用,读者在阅读时可以结合官 ...

  7. 免费高效实用的.NET操作Excel组件NPOI(.NET组件介绍之六)

    很多的软件项目几乎都包含着对文档的操作,前面已经介绍过两款操作文档的组件,现在介绍一款文档操作的组件NPOI. NPOI可以生成没有安装在您的服务器上的Microsoft Office套件的Excel ...

  8. 免费开源的DotNet任务调度组件Quartz.NET(.NET组件介绍之五)

    很多的软件项目中都会使用到定时任务.定时轮询数据库同步,定时邮件通知等功能..NET Framework具有“内置”定时器功能,通过System.Timers.Timer类.在使用Timer类需要面对 ...

  9. 免费开源的DotNet二维码操作组件ThoughtWorks.QRCode(.NET组件介绍之四)

    在生活中有一种东西几乎已经快要成为我们的另一个电子”身份证“,那就是二维码.无论是在软件开发的过程中,还是在普通用户的日常中,几乎都离不开二维码.二维码 (dimensional barcode) , ...

随机推荐

  1. git 恢复丢失的文件-- 不提交入口文件

    务必进入当前controller下面,才能恢复 git checkout HEAD TestController.class.php 01备份index.php文件 02使用 小乌龟的git 删除 t ...

  2. ubuntu 调试库

    .安装带有调试信息的libc: sudo apt-get install libc6-dbg .下载libc源码 a.选定一个放置源码的目录并进入,如 /home/kent/dev-os/libc6- ...

  3. Twitter Storm源代码分析之Nimbus/Supervisor本地目录结构

    storm集群里面工作机器分为两种一种是nimbus, 一种是supervisor, 他们通过zookeeper来进行交互,nimbus通过zookeeper来发布一些指令,supervisor去读z ...

  4. hellobruce

  5. .Net Core 常见问题整理

    1.安装时报0x80070490 找不到元素 这里应该是vs只装了web没有装c++ 下载一个 VC_redist.x64.exe 安装就行了 https://github.com/dotnet/co ...

  6. C/C++ - <string> 与<string.h>、<cstring>的区别

    <string.h><string.h>是C版本的头文件,包含比如strcpy.strcat之类的字符串处理函数. <string><string>是C ...

  7. 在Javascript中什么是伪数组?如何将伪数组转化为标准数组?

    答案: 伪数组(类数组):无法直接调用数组方法或期望length属性有什么特殊的行为,但仍可以对真正数组遍历方法来遍历它们.典型的是函数的argument参数,还有像调用getElementsByTa ...

  8. 【其他】MySql数据库的安装与卸载

    一.安装 1.首先下载安装包,包含服务端和客户端 2.添加用户组.用户 secondary1:~ # groupadd mysql secondary1:~ # useradd -g mysql -d ...

  9. Activity间切换的动画应用

    Activity切换过程中,系统会使用一些默认的动画,显得切换过程不至于太呆板. 在frameworks/base/core/res/res/values下的stlyes.xml文件中有具体的定义各个 ...

  10. windows service and process 的关系

    1.查询windows 对应的服务 sc query > 1.txt notepad 1.txt 2.查询对应的进程信息 tasklist /m > tasks.txt notepad t ...